付録 A: データ プロバイダーとサービス プロバイダー

このセクションでは、データ プロバイダー、サービス プロバイダー、サービス コンポーネントという 3 種類のプロバイダーについて説明します。 プロバイダーは、2 つのカテゴリ (データを提供するものと、サービスを提供するもの) に分類されます。 "データ プロバイダー" は、独自のデータを所有し、表形式でアプリケーションに公開します。 "サービス プロバイダー" は、データを生成および使用してサービスをカプセル化し、ADO アプリケーションの機能を強化します。 サービス プロバイダーは、"サービス コンポーネント" としてさらに定義することもできます。これは、他のサービス プロバイダーまたはコンポーネントと連携して動作する必要があります。

データ プロバイダー

強力でありながら高い柔軟性を備えた ADO は、さまざまなデータ プロバイダーのいずれにも接続が可能であり、特定のプロバイダーの特定の機能に関係なく、同じプログラミング モデルの公開も可能です。

ただし、各データ プロバイダーは固有の機能を持つため、アプリケーションと ADO の対話方法はデータ プロバイダーによって少しずつ異なります。 通常、違いは 3 つのカテゴリのいずれかに当てはまります。

  • ConnectionString プロパティの接続パラメーター。

  • Command オブジェクトの使用方法。

  • プロバイダー固有の Recordset の動作。

次の一覧は、Microsoft で現在利用できる各データ プロバイダーの詳細を示したものです。

領域 トピック
ODBC データベース Microsoft OLE DB Provider for ODBC
Microsoft Indexing Service Microsoft OLE DB Provider for Microsoft Indexing Service
Active Directory サービス Microsoft OLE DB Provider for Microsoft Active Directory Service
Microsoft Jet データベース OLE DB Provider for Microsoft Jet
Microsoft SQL Server Microsoft OLE DB Provider for SQL Server
Oracle データベース Microsoft OLE DB Provider for Oracle
インターネット発行 Microsoft OLE DB Provider for Internet Publishing
単純なデータ ソース Microsoft OLE DB Simple Provider

プロバイダー固有の動的プロパティ

ConnectionCommandRecordset オブジェクトの Properties コレクションには、プロバイダーに固有の動的プロパティが含まれます。 これらのプロパティでは、ADO がサポートする組み込みプロパティに含まれない、プロバイダー固有の機能に関する情報が提供されます。

接続を確立してこれらのオブジェクトを作成した後、オブジェクトの Properties コレクションで Refresh メソッドを使って、プロバイダー固有のプロパティを取得します。 これらの動的プロパティについて詳しくは、プロバイダーのドキュメントと OLE DB プログラマー ガイドをご覧ください。

サービス プロバイダー

サービス プロバイダーを使うには、キーワードを指定する必要があります。 また、各サービス プロバイダーに関連付けられているプロバイダー固有の動的プロパティにも注意する必要があります。 プロバイダー固有の詳細は、現在 Microsoft で利用できるサービス プロバイダーごとに示されています。

サービス コンポーネント

Cursor Service for OLE DB サービス コンポーネントは、データ プロバイダーのカーソル サポート機能を補完するものです。 また、キーワードも必要であり、動的プロパティを備えています。

OLE DB プロバイダーについて詳しくは、「Microsoft OLE DB」をご覧ください。

プロバイダーのコマンド

ここに記載されている各プロバイダーについて、アプリケーションでユーザーがプロバイダーのコマンドとして SQL ステートメントを入力できるようにする場合は、常にユーザー入力を検証し、ユーザー入力の一部として DROP TABLE t1 のような危険性のある SQL ステートメントを使ってハッカーが攻撃する可能性に注意する必要があります。

参照

Command オブジェクト (ADO)Connection オブジェクト (ADO)Microsoft OLE DB Provider for Internet PublishingMicrosoft OLE DB Provider for Microsoft Active Directory ServiceMicrosoft OLE DB Provider for Microsoft Indexing ServiceMicrosoft OLE DB Provider for ODBCMicrosoft OLE DB Provider for OracleMicrosoft OLE DB Provider for SQL ServerMicrosoft OLE DB Provider for Microsoft JetProperties コレクション (ADO)Recordset オブジェクト (ADO)Refresh メソッド (RDS)