代码之家  ›  专栏  ›  技术社区  ›  Mauro Piccotti

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

  •  0
  • Mauro Piccotti  · 技术社区  · 7 年前

    我在将.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 回复  |  直到 6 年前
        1
  •  0
  •   Mauro Piccotti    6 年前

    正如杰伦·莫斯特特所说:

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

    我的问题是因为在连接字符串中,我同时拥有实例名和端口,以及.NET核心1.1上的“可能的bug”,因为Mac和Windows之间的行为是不同的。在我的例子中,SQL Server浏览器在服务器上关闭,所以我需要指定端口,因此我必须从连接字符串中删除实例名。