0

私はデータベースに接続するのに非常に慣れていないので、いくつかの用語に慣れていない場合は申し訳ありません.

VBA を使用してパーベイシブ データベースへの DSNless 接続を開きたいのですが、さまざまな問題が発生しています。私が遭遇したフォーラムはすべて、役立つさまざまなコードを提供していますが、すべてがどのように適合するかを確認するために、1 つの完全なサブルーチンを参照したいと思います。コードにさまざまなコードを適用しようとすると、さまざまなエラー コードが発生します。

そのため、誰かが接続を開いてレコードセットを作成するための完全なコードの例を投稿してください。よろしくお願いします

コメントから

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ドライバーを使用する場合は、プロバイダーを指定しません。

少なくともパーベイシブデータベース名を作成せずにPSQLデータベースに接続することはできません。ODBC DSNは必要ありませんが、役に立ちます。PSQLODBCまたはOLEDBを使用してパスに接続するためのサポートされている方法はありません。

DTOを使用して、コードでデータベース名を作成できます。

于 2011-08-23T12:35:42.717 に答える