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 関連の問題ではないと思います。