2012-07-31 210 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地址。

相關問題