0

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

我想使用 VBA 打开与普遍数据库的 DSNless 连接,但遇到了各种问题。我遇到的论坛都提供了各种有用的代码,但我希望看到一个完整的子程序,看看它们是如何组合在一起的。通过尝试将不同的代码位应用于我的代码,我最终会遇到各种错误代码。

因此,有人可以发布一个完整代码的示例以打开连接并创建记录集。将不胜感激

来自评论

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)':模式、保护级别或未知参数已在连接字符串中设置(不正确)

4

1 回答 1

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

于 2011-08-23T12:35:42.717 回答