Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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
Sql server 2014 SQL Server连接到本地网络上的不同PC。VBA_Sql Server_Vba_Excel_Tcp_Sql Server 2014 - Fatal编程技术网

Sql server 2014 SQL Server连接到本地网络上的不同PC。VBA

Sql server 2014 SQL Server连接到本地网络上的不同PC。VBA,sql-server,vba,excel,tcp,sql-server-2014,Sql Server,Vba,Excel,Tcp,Sql Server 2014,我试图通过本地网络连接到Windows Server 2012 R2标准上的2014 SQL Server实例,但没有成功 我已经进入Configuration manager并启用了TCP/IP 我已进入服务器防火墙的高级设置,并为所有SQL server使用的TCP端口添加了新的入站规则 1351431434238223834022 我已启用sa身份验证并设置了新密码 我的连接字符串如下所示 sConnString = "PROVIDER=SQLOLEDB;" & _

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

  • 我已经进入Configuration manager并启用了TCP/IP
  • 我已进入服务器防火墙的高级设置,并为所有SQL server使用的TCP端口添加了新的入站规则
  • 1351431434238223834022

  • 我已启用sa身份验证并设置了新密码
  • 我的连接字符串如下所示

    sConnString = "PROVIDER=SQLOLEDB;" & _
                  "Data Source=ServerName;" & _
                  "Initial Catalog=Staff_Manager;" & _
                  "User Id=sa;" & _
                  "Password=myPassword;" & _
                  "INTEGRATED SECURITY=SSPI;"
    
    但是,我在尝试连接时遇到此错误

    [DBNETLIB][ConnectionOpen(Connect())。]SQL Server不存在或 拒绝访问

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

    所以我尝试了在这里找到的微软解决方案

    我想出了这个连接线

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

    但是,我仍然得到同样的错误。任何人都可以为我指出正确的方向,因为我已经没有解决方案了。

    供将来参考,以帮助那些同样陷入困境的人

    我在服务器配置管理器中的“协议”选项卡上的“属性”下的SQL Server网络配置
    TCP/IP
    settings下找到了答案。有一个我设置为“否”的
    Listen All
    功能,将其设置为“yes”允许以下连接字符串工作

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


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

    首先检查两件事,服务器是否配置为允许远程连接。如果它是命名实例且未侦听端口1433,请查看是否启用了SQL server浏览器服务。@Jasqlg浏览器服务已启用。不确定命名实例的含义是什么?我以为每个实例都有名字?或者说我不理解事情?我们可以创建两种类型的实例。默认和命名。对您的服务器运行此命令。选择SERVERPROPERTY('InstanceName')。如果结果为空,则为默认值,如果不是,则为命名。您甚至可以检查服务名称。默认为MSSQLSERVER,命名为insatnace时为其他。对于命名实例,在连接字符串中添加实例名称,如“Data Source=ServerName\YourInstancename;”@Jasqlg,我发现我需要允许TCP/IP中的所有侦听。但你的帮助在得出这个结论时是无价的。谢谢
    sConnString = "PROVIDER=SQLOLEDB;" & _
                  "Data Source=yourServerName;" & _
                  "Initial Catalog=DBNameHere;" & _
                  "User Id=sa;" & _
                  "Password=yourPassword;"