一尘不染

Docker容器中sqlserver的连接字符串

docker

我正在将Visual Studio 2017 for Mac与dotnet Core和EF
Core一起使用。在Docker容器中设置mssql映像后,我试图添加连接字符串,但抛出连接错误。我尝试使用不同的选项(例如ip地址,容器名称,主机名等)作为服务器名称,但是它们都不起作用。

 "Default": "Server=172.17.0.2; Database=ERPDb; User=sa; Password =******;"

带有容器名称

 "Default": "Server=ecstatic_hermann; Database=ERPDb; User=sa; Password=******;"

主机名:

 "Default": "Server=f45840a59623; Database=ERPDb; User=sa; Password=******;"

通过在终端中使用本地主机进行连接时,其成功连接

$ mssql -s localhost -p Technocrat123
Connecting to localhost...done

sql-cli version 0.6.2
Enter ".help" for usage hints.

但是在运行应用程序时,连接失败。

感谢任何帮助。提前致谢。

如果使用本地主机,则错误为

Login failed for user ''. Reason: An attempt to login using SQL authentication failed. Server is configured for Integrated authentication only.

阅读 429

收藏
2020-06-17

共1个答案

一尘不染

我刚刚为此写了一篇博客文章。看看richminchuk.io。除此以外:

sudo docker pull microsoft/mssql-server-linux:2017-latest
docker run \
   -e 'ACCEPT_EULA=Y' \
   -e 'MSSQL_SA_PASSWORD=YourSTRONG!Passw0rd' \
   -p 1401:1433 \
   -n sql1 \
   -d microsoft/mssql-server-linux:2017-latest

然后,

private static string _connStr = @"
   Server=127.0.0.1,1401;
   Database=Master;
   User Id=SA;
   Password=YourSTRONG!Passw0rd
";
2020-06-17