2

我正在尝试连接到 Excel 中的 SQL ce 数据库。它不断给我:

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
4

2 回答 2

1

这通常是一个错误的连接字符串,但你的看起来不错。下一个最常见的原因是您的桌面上没有 OLEDB 提供程序驱动程序。你可以在这里下载

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

于 2013-03-16T16:20:42.203 回答
0

在WHILE上使用之前关闭连接。使用 while 指令必须关闭它。

于 2016-04-15T13:27:11.393 回答