OleDB プロバイダーは、Microsoft が提供する COM インターフェイスを実装するバイナリです。そのことから、C# を使用してプロバイダーを作成することは可能であると思われます。あれは正しいですか?それを示すサンプルはありますか?そうでなければ、私がそうするのを思いとどまらせてくれませんか? 管理されていないサンプルが複数あるようですが、管理されているサンプルが見つかりません。
2 に答える
記事は良いですが、実際には質問に答えていません。OLEDB は、実際には COM 相互運用機能を介して .Net に実装できる一連の COM インターフェイスですが、そのような実装については聞いたことがなく、おそらくお勧めできません。
OLEDB インターフェイスのセットは、Microsoft によってここに文書化されています。OLEDB は複雑なトピックであり、関数プロバイダーを実装するためにすべてのインターフェイスが必要なわけではありません。さらに悪いことに、さまざまな OLEDB クライアントが、プロバイダーを使用できるようにするために必要なインターフェイスのセットを持っています。たとえば、.Net OLEDB クライアント (System.Data.OleDb.*) からプロバイダーを使用するために実装する必要がある必須インターフェイスの一覧を次に示します。注: フレームワーク 2.0 以降のリンクは見つかりませんでした。最後に、プロバイダーの実装が非常に困難であったことは注目に値します。Microsoft はその後、実装者が正しく実装できるように一連の ATL テンプレート (C++) を提供しました。
OLEDB の詳細については、MSDNのWindows Data Access SDKを参照することをお勧めします。
私はあなたの質問を本当に理解しているかどうかわかりません?! 管理された OleDBProviderは既にありますか?!
using System.Data.OleDb;
存在し、完全に正常に動作するプロバイダーを作成することは絶対にお勧めしません。:)
しかし、最初の質問への回答として、もちろん独自のものを作成できます。データ プロバイダー ロードマップは、概要やサンプルへのリンクなどを確認するのに適した場所です。