2013-03-16 110 views
2

我試圖連接到Excel中的SQL ce數據庫。它不斷給我:打開對象_connection的方法失敗

Method Open of object _connection failed 

錯誤消息,每當它到達Conn.Open

我以前從未使用ADO,所以我不確定發生了什麼問題。

以下是我的連接腳本。

Sub SQLCeConnect() 
Dim Conn As New ADODB.Connection 
Dim Query As New ADODB.Command 
Dim ConnStr As String 
Dim RecordSet As New ADODB.RecordSet 
Dim i As Integer 

'the connection string 
ConnStr = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=X:\ADOTEST\MYDB.sdf;" 

'Open ADO Connection 
Conn.ConnectionString = ConnStr 
Conn.Open 
Query.ActiveConnection = Conn 
Query.CommandText = "SELECT * From DoorLayers" 

Set RecordSet = Query.Execute 
RecordSet.Close 
Conn.Close 
Conn.ConnectionString = "" 

Do While Not RecordSet.EOF 
    For i = 0 To RecordSet.Fields.Count - 1 
     Debug.Print RecordSet.Fields(i).Name, RecordSet.Fields(i).Value 
    Next 
    RecordSet.MoveNext 
Loop 
RecordSet.Close 

End Sub 
+0

http://www.connectionstrings.com/sql-server-ce – dee 2013-03-18 08:41:06

回答

1

這通常是一個糟糕的連接字符串,但你看起來不錯。下一個最常見的原因是您的桌面上沒有OLEDB提供程序驅動程序。你可以在這裏下載

http://www.microsoft.com/en-us/download/details.aspx?id=5821

+0

無法弄清楚這一點。我安裝了oledb提供程序驅動程序。我決定放棄vba方法。我將簡單地寫入vb.net dll並在Excel中引用它。應該讓事情變得更容易。謝謝您的幫助。 – joeb 2013-03-16 23:28:28

0

你關閉連接之前使用它WHILE。 使用while指令後必須關閉它

相關問題