在将.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上总是“连接字符串无效”。
答案 0 :(得分:0)
如耶罗恩·蒙斯特(Jeroen Monstert)所说:
同时指定实例名称和端口号是没有意义的。 指定实例名称,然后让SQL Server浏览器 服务为您解析端口,或指定端口,然后离开 列出实例名称。
我的问题是由于这样的事实,在连接字符串中我既拥有实例名称又具有端口,再加上.NET Core 1.1上的“可能是错误”,因为Mac和Windows之间的行为不同。在我的情况下,SQL Server Browser在服务器上关闭,因此我需要指定端口,因此,我必须从连接字符串中删除实例名称。