我正在使用带有dotnet Core和EF Core的Visual Studio 2017 for mac。在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=******;"
在终端中使用localhost连接时,连接成功
$ mssql -s localhost -p Technocrat123
Connecting to localhost...done
sql-cli version 0.6.2
Enter ".help" for usage hints.
但在运行应用程序时,连接失败。
感谢任何人的帮助。提前谢谢。
如果使用localhost,则错误为
Login failed for user ''. Reason: An attempt to login using SQL authentication failed. Server is configured for Integrated authentication only.
发布于 2018-04-16 22:44:32
我刚刚写了一篇关于这方面的博文。看看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
";
发布于 2018-02-19 10:25:55
您的服务器名称最有可能是localhost和端口1401 (这是Docker容器设置的默认设置)。因此,您需要使用以下连接字符串:
"Default": "Server=localhost,1401; Database=ERPDb; User=sa; Password =******;"
https://stackoverflow.com/questions/45712122
复制相似问题