我正在运行 Windows10 和 docker Desktop v20.10.7。我正在学习 docker,从而创建了一个在容器上运行的 ASP.Net core MVC 应用程序,进一步为数据库创建了一个单独的容器,使用下面的命令。
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Pa$$w0rd2021'
-e 'MSSQL_PID=Express' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
目前我不专注于保存数据。
问题:当 ASP.NET Core 应用程序尝试与数据库(在容器中)建立连接时,例如在应用程序启动时播种数据库时,会观察到以下异常。
未处理的异常。 Microsoft.Data.SqlClient.SqlException(0x80131904):用户“”登录失败。
在Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,布尔allowCreate,布尔onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&连接)
在 Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject、TaskCompletionSource`1 重试、DbConnectionOptions userOptions、DbConnectionInternal& 连接)
以下是发生异常时容器中的 SQL 错误日志:
登录 用户“”登录失败。原因:尝试使用 SQL 身份验证登录失败。服务器仅配置为集成身份验证。 [客户端:172.17.0.1]
使用的连接字符串:
尝试#1:
Server=localhost,1433;Database=PracticeMVC,User Id=SA;Password=Pa$$w0rd2021
尝试#2:
Server=localhost,1433;Database=PracticeMVC,User Id=SA;Password=Pa$$w0rd2021;Trusted_Connection=True;MultipleActiveResultSets=true;
尝试#3:
Server=localhost,1433;Database=PracticeMVC,User Id=SA;Password=Pa$$w0rd2021;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
没有任何效果...
非常感谢解决问题的支持/反馈。
提前致谢。