在VBA中创建与Pervasive的DSNless连接

时间:2011-08-23 09:51:01

标签: vba pervasive pervasive-sql

我对连接数据库非常陌生,所以如果我不熟悉某些术语,我会道歉。

我想使用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)':模式,保护级别或未知参数已在连接字符串中设置(错误)

1 个答案:

答案 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在代码中创建数据库名称。