Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Mac和SQL Server连接字符串上的.NET Core 1.1应用程序_C#_Sql Server_Asp.net Core - Fatal编程技术网

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

C# Mac和SQL Server连接字符串上的.NET Core 1.1应用程序,c#,sql-server,asp.net-core,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=blabla

我在将.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上总是“连接字符串无效”。

正如Jeroen Monster所说:


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


我的问题是因为在连接字符串中我有实例名和端口,再加上.NET Core 1.1上的一个“可能的bug”,因为Mac和Windows的行为不同。在我的例子中,SQL Server Browser关闭了服务器,因此我需要指定端口,因此我必须从连接字符串中删除实例名称。

同时指定实例名称和端口号是没有意义的。请指定实例名称,然后让SQL Server Browser服务为您解析端口,或者指定端口,但忽略实例名称。注意:我不知道这是否是您的错误的原因,只是观察到您当前使用的选项没有意义。谢谢@jeroenmoster,但是在这种情况下这是必要的,如果没有它,它在Windows上也不起作用(指定了错误定位服务器/实例)。可能在该计算机上解析端口的服务未运行。请确保端口49331未被防火墙或MACAre上的任何其他应用程序阻止,您所说的连接到
tcp:x.x.x.x,49331
失败,而
tcp:x.x.x.x\Blablabla,49331
起作用?因为我会觉得很惊讶。SQL Server Browser可能未运行或无法访问,但在这种情况下,实例名称无论如何都没有用处。在mac上与服务器建立odbc连接,您可能会遇到同样的问题。如果您不这样做,那么您可以以odbc为目标。还有,那真的是端口号吗?它属于“高端随机端口”范围