OLE DB コンシューマーとプロバイダー
OLE DB アーキテクチャでは、コンシューマーとプロバイダーの概念が使用されています。 コンシューマーはデータの要求を行います。 プロバイダーは、データを表形式に変換し、コンシューマーに返すことによってこれらの要求に応答します。 コンシューマーが行う呼び出しは、プロバイダーで実装されている必要があります。
技術的な定義では、コンシューマーは、OLE DB インターフェイスを通じてデータにアクセスする任意のシステムまたはアプリケーション コードです。必ずしも OLE DB コンポーネントではありません。 インターフェイスはプロバイダーで実装されます。 プロバイダーは、データへのアクセスをカプセル化してほかのオブジェクト (つまりコンシューマー) に公開する OLE DB インターフェイスを実装するソフトウェア コンポーネントです。
役割の面から見ると、コンシューマーは、OLE DB インターフェイスでメソッドを呼び出し、OLE DB プロバイダーは、必要な OLE DB インターフェイスを実装します。
OLE DB では、クライアントやサーバーという用語は使用しません。これらの役割付けが常に (特に n 層の状況では) 妥当であるとは限らないからです。 コンシューマーは、他のコンポーネントを処理する層のコンポーネントである場合があるので、コンシューマーをクライアント コンポーネントと呼ぶと混乱を招きます。 また、プロバイダーはサーバーというよりはデータベース ドライバーに近い動作をすることがあります。