2014 SQL 服务器连接到本地网络上的不同 PC。 VBA

2014 SQL Server Connection to different PC on local network. VBA

我试图通过本地网络连接到 Windows 服务器 2012 R2 标准上的 2014 SQL 服务器实例,但没有成功。

  1. 我已经进入配置管理器并启用了 TCP/IP。
  2. 我已经进入服务器防火墙的高级设置并为所有 SQL 服务器使用的 TCP 端口添加了新的入站规则,

135,1433,1434,2382,2383,4022

  1. 我启用了sa认证并设置了新密码

我的连接字符串如下所示。

sConnString = "PROVIDER=SQLOLEDB;" & _
              "Data Source=ServerName;" & _
              "Initial Catalog=Staff_Manager;" & _
              "User Id=sa;" & _
              "Password=myPassword;" & _
              "INTEGRATED SECURITY=SSPI;"

但是,我在尝试连接时遇到此错误。

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied

我检查了数据库名称和密码,这是正确的。

所以我尝试了此处找到的 Microsoft 解决方法,Bug #: 471480 (SQL Server 8.0)

我想出了这个连接字符串,

sConnString = "PROVIDER=SQLOLEDB;" & _
              "Integrated Security=SSPI;" & _
              "Persist Security Info=False;" & _
              "User Id=sa;" & _
              "Data Source=tcp:192.192.1.111,1433;"

但是,我仍然遇到同样的错误。任何人都指出我正确的方向,因为我有 运行 的解决方案。

供以后同样卡住的人参考。

我发现答案是在服务器配置管理器的 SQL 服务器网络配置 TCP/IP 设置下的协议选项卡的属性下。我已将 Listen All 功能设置为 "No",将其设置为 "yes" 允许以下连接字符串工作。

sConnString = "PROVIDER=SQLOLEDB;" & _
              "Data Source=190.190.1.100,1433;" & _
              "Initial Catalog=DBNameHere;" & _
              "User Id=sa;" & _
              "Password=yourPassword;"

sConnString = "PROVIDER=SQLOLEDB;" & _
              "Data Source=yourServerName;" & _
              "Initial Catalog=DBNameHere;" & _
              "User Id=sa;" & _
              "Password=yourPassword;"

两个字符串都可以工作并在本地网络上进行测试。