0

OLEDB プロバイダーを作成しようとしています。ATL OLE DB プロバイダー ウィザードから始めました。COM_INTERFACE_ENTRY2 マクロの明らかな問題を修正した後、デフォルト コードをコンパイルすることができましたが、これまでのところ、それを使用してあまり成功していません。

たとえば、VB.NET を使用して次のように接続しようとしました。

Dim testConn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=TestProvider.Provider.1")
testConn.Open()
Dim strTest As String = "C:\*.*"

Dim testCmd As New OleDb.OleDbCommand(strTest, testConn)

Dim testRd As OleDb.OleDbDataReader
testRd = testCmd.ExecuteReader()

最後の行は、InvalidOperationException追加情報を含む を生成します: OleDbDataAdapter internal error: invalid row set accessor: Ordinal=1 Status=BADBINDINFO.

Access で VBA から ADO を使用しようとすると、フィールド名を正しく取得できますが、実際の値を取得しようとすると、かなり一般的な「複数ステップの OLE DB 操作でエラーが発生しました」というメッセージが表示されます。

バインディングとアクセサーについて調べてみましたが、テンプレート コードの変更に関連するものはないようです。私が間違っているかもしれない何か他にありますか?新しい列マップを作成し、すべての FindFirstFile コードをハードコードされた値を持つ別のフィールドに置き換えようとしましたが、それでも同じエラーが発生します。

Visual Studio 2013 RC を使用していますが、IDE 関連の問題ではないと思います。

4

0 に答える 0