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