【问题标题】:Jetbrains Rider connection string to Ubuntu SQL ServerJetbrains Rider 到 Ubuntu SQL Server 的连接字符串
【发布时间】:2017-10-25 02:34:04
【问题描述】:

我已经在我的 ubuntu ( 17.04 ) 上安装了 SQL 服务器,它运行得非常好。我正在使用 Jetbrains Rider 进行 C# 开发工作,我可以通过 Jetbrains Rider 附带的数据库工具连接到我的本地 SQL Server 实例。

但是当我尝试从我的应用程序连接到同一个数据库时,它会引发以下错误。

在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:TCP 提供者,错误:25 - 连接字符串无效)---> System.Net.Sockets.SocketException (0x80004005):成功

以下是我的 appsettings.json 文件中的连接字符串

"ConnectionStrings": {
"DefaultConnection": "Data Source=localhost\\sqlexpress:1433;Database=MyDb;User Id=SA;Password=MyPasswd;"

},

我尝试在连接字符串中使用端口号和“初始目录”而不是“数据库”进行连接。

如何正确设置连接字符串?

【问题讨论】:

标签: sql-server ubuntu connection-string rider


【解决方案1】:

我遇到了同样的问题,发现在 docker 中,linux 版本的 sql server 暴露在端口 1401 上!!不是标准的 1433,这似乎是我的问题,尽管您似乎在骑手方面连接正常.. 奇怪

【讨论】:

    【解决方案2】:
    Data Source=localhost\\sqlexpress:1433;Database=MyDb;User Id=SA;Password=MyPasswd;
    

    尝试用逗号代替分号

    Data Source=localhost\\sqlexpress,1433;Database=MyDb;User Id=SA;Password=MyPasswd;
    

    让我为未来的读者做一个完整的例子:

    如果我运行以下命令:(在 ubuntu 上)

    sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password1#" \
       -p 1455:1433 --name sql1 \
       -d mcr.microsoft.com/mssql/server:2017-latest
    

    我的连接字符串是:

    {
      "ConnectionStrings": {
        "MyConnectionString": "Data Source=localhost,1455;Database=master;User Id=sa;Password=Password1#;"
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information"
        }
      },
      "AllowedHosts": "*"
    }
    

    显然,您可能不想实际使用“主”数据库,但为了尽早测试它,它是可以接受的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-03
      • 2017-12-08
      • 2010-10-19
      相关资源
      最近更新 更多