5

OleDB プロバイダーは、Microsoft が提供する COM インターフェイスを実装するバイナリです。そのことから、C# を使用してプロバイダーを作成することは可能であると思われます。あれは正しいですか?それを示すサンプルはありますか?そうでなければ、私がそうするのを思いとどまらせてくれませんか? 管理されていないサンプルが複数あるようですが、管理されているサンプルが見つかりません。

4

2 に答える 2

3

記事は良いですが、実際には質問に答えていません。OLEDB は、実際には COM 相互運用機能を介して .Net に実装できる一連の COM インターフェイスですが、そのような実装については聞いたことがなく、おそらくお勧めできません。

OLEDB インターフェイスのセットは、Microsoft によってここに文書化されています。OLEDB は複雑なトピックであり、関数プロバイダーを実装するためにすべてのインターフェイスが必要なわけではありません。さらに悪いことに、さまざまな OLEDB クライアントが、プロバイダーを使用できるようにするために必要なインターフェイスのセットを持っています。たとえば、.Net OLEDB クライアント (System.Data.OleDb.*) からプロバイダーを使用するために実装する必要がある必須インターフェイスの一覧を次に示します。注: フレームワーク 2.0 以降のリンクは見つかりませんでした。最後に、プロバイダーの実装が非常に困難であったことは注目に値します。Microsoft はその後、実装者が正しく実装できるように一連の ATL テンプレート (C++) を提供しました。

OLEDB の詳細については、MSDNのWindows Data Access SDKを参照することをお勧めします。

于 2011-06-14T17:30:49.347 に答える
-5

私はあなたの質問を本当に理解しているかどうかわかりません?! 管理された OleDBProviderは既にありますか?!

using System.Data.OleDb;

存在し、完全に正常に動作するプロバイダーを作成することは絶対にお勧めしません。:)

しかし、最初の質問への回答として、もちろん独自のものを作成できます。データ プロバイダー ロードマップは、概要やサンプルへのリンクなどを確認するのに適した場所です。

于 2008-09-10T04:48:12.173 に答える