我对连接数据库非常陌生,所以如果我不熟悉某些术语,我会道歉。
我想使用VBA打开与普及数据库的DSNless连接,我遇到了各种各样的问题。我遇到的论坛都提供了各种有用的代码,但我希望看到一个完整的子程序,看看它们是如何组合在一起的。通过尝试将不同的代码应用于我的代码,我最终会遇到各种错误代码。
首先,有人可以发布完整代码的示例来打开连接并创建记录集。非常感谢
FROM COMMENTS
Sub pervasiveExample()
Dim adoConn As ADODB.Connection
Set adoConn = New ADODB.Connection
adoConn.Provider = "PervasiveOLEDB"
adoConn.ConnectionString = "driver={Pervasive ODBC Client Interface};Data Source=C:\TestData"
adoConn.Open
If adoConn.State = adStateOpen Then
MsgBox "Welcome"
Else MsgBox "Error connecting to Database."
End If
End Sub
这是我得到的错误:运行时错误'-2147217837(80040e53)':模式,保护级别或未知参数已在连接字符串中设置(错误)
答案 0 :(得分:1)
无论如何,我看到了你的问题:
Sub pervasiveExample()
Dim adoConn As ADODB.Connection
Set adoConn = New ADODB.Connection
adoConn.ConnectionString = "driver={Pervasive ODBC Client Interface};DBQ=DEMODATA"
adoConn.Open
If adoConn.State = adStateOpen Then
MsgBox "Welcome"
Else
MsgBox "Error connecting to Database."
End If
End Sub
如果在连接字符串中使用“driver =”,则无法使用路径。您必须在连接字符串中指定数据库名称(或使用ServerDSN =和ServerName =进行远程连接的引擎DSN)。使用ODBC驱动程序时也不指定提供程序。
如果不创建至少一个Pervasive Database Name,则无法连接到PSQL数据库。您不需要ODBC DSN但它有帮助。没有受支持的方法来连接到PSQL ODBC或OLEDB的路径。
您可以使用DTO在代码中创建数据库名称。