Mac和SQL Server连接字符串上的.NET Core 1.1应用程序

时间:2018-07-19 12:47:18

标签: c# sql-server asp.net-core

在将.NET Core 1.1应用程序连接到远程SQL Server时遇到问题,但仅在Mac上存在,因为在Windows上一切正常。

说这不是我的应用程序,而我只是想使其运行,这是我在appsettings.Development.json上的连接字符串:

  "ConnectionStrings": {
    "MesDatabase": "Data Source=x.x.x.x\\BLABLA,49331; Initial Catalog=DBNAME; Uid=sa; Pwd=blablabla"
  }

这是我打开连接的错误:

  

与网络相关或特定于实例的错误发生在   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称正确,并且   SQL Server配置为允许远程连接。 (提供者:TCP   提供程序,错误:25-连接字符串无效)

我无法访问服务器,知道吗?我几乎可以确定这是连接字符串上的一个愚蠢错误,但我找不到它。

我还尝试在Windows上创建一个.udl文件,使用正确的连接数据对其进行编辑,并使用记事本打开生成的连接字符串。没什么,在Mac上总是“连接字符串无效”。

1 个答案:

答案 0 :(得分:0)

如耶罗恩·蒙斯特(Jeroen Monstert)所说:

  

同时指定实例名称和端口号是没有意义的。   指定实例名称,然后让SQL Server浏览器   服务为您解析端口,或指定端口,然后离开   列出实例名称。

我的问题是由于这样的事实,在连接字符串中我既拥有实例名称又具有端口,再加上.NET Core 1.1上的“可能是错误”,因为Mac和Windows之间的行为不同。在我的情况下,SQL Server Browser在服务器上关闭,因此我需要指定端口,因此,我必须从连接字符串中删除实例名称。