2012-07-31 79 views
1

我在VBA中编写代码片段来从SQL Server 2008r2数据库中提取数据。但是,我在Conn.Open出现错误:[Microsoft] [SQL Server Native Client 10.0]命名管道提供程序:无法打开与SQL Server [53]的连接。如何从SQL Server数据库中检索数据

使用ConnectionString.com和另一SO Question,我已经写了这一点:

Function GetAddress() As String 
    Dim Conn As ADODB.Connection 
    Set Conn = New ADODB.Connection 
    Dim Rst As ADODB.Recordset 
    Set Rst = New ADODB.Recordset 

    Conn.ConnectionString = "Provider=SQLNCLI10;Server=12.34.5678;" & _ 
          "Database=OurDB;User ID=myuserid;Password=mypw;" 
    Conn.Open 

    Set Rst.ActiveConnection = Conn 
    Rst.Open "Select top 1000 * from MainTable" 
End Function 

Googling错误建议命名管道可能被禁用。在这之后,我检查了SQL Server配置管理器和命名管道是相当启用的(第3顺序在共享内存和TCP/IP之后)。

我该如何让这个错误消失?我使用正确的连接字符串吗?

+2

愚蠢的问题:错误53是'Cannnot find network path';你的服务器路径是否正确? – LittleBobbyTables 2012-07-31 16:35:34

+0

代码运行时'OurDB'的值是多少? – JimmyPena 2012-07-31 16:36:56

+0

您是否指IP服务器? – HansUp 2012-07-31 16:37:45

回答

1

仔细检查您的连接字符串的这一部分:

Server=12.34.5678 

它看起来像由一个IP地址指的是服务器,但它不是一个IP地址。