サービス プロバイダーは、データ ストアでネイティブにサポートされていない拡張インターフェイスを実装することで、データ プロバイダーの機能を拡張するコンポーネントです。
ユニバーサル データ アクセスは、個々の特殊なコンポーネントが、能力の低いストアの上に個別のデータベース機能セット ("サービス") を実装できるようにする、コンポーネント アーキテクチャを提供します。 したがって、各データ ストアに拡張機能の独自の実装を強制したり、汎用アプリケーションにデータベース機能を内部的に実装させたりするのではなく、サービス コンポーネントは、任意のデータ ストアにアクセスするときに任意のアプリケーションで使用できる共通の実装を提供します。 一部の機能はデータ ストアによってネイティブに実装され、一部は汎用コンポーネントを介して実装されるという事実は、アプリケーションに対して透過的です。
たとえば、カーソル エンジン (Ole DBの Cursor Service など) は、順方向専用のシーケンシャル データ ストアのデータを使用してスクロール可能なデータを生成できるサービス コンポーネントです。 ADO で一般的に使用されるその他のサービス プロバイダーには、Microsoft OLE DB 永続化プロバイダー (ADO サービス プロバイダー) (ファイルにデータを保存するため)、Microsoft Data Shaping Service for OLE DB (ADO Service Provider) (階層型 Recordsets用)、Microsoft OLE DB リモート処理プロバイダー (ADO サービス プロバイダー) (リモート コンピューターでデータ プロバイダーを呼び出すための) があります。
サービス プロバイダーとデータ プロバイダーの詳細については、「付録 A: プロバイダー」を参照してください。