.NET Framework データ プロバイダを実装する前に、実装する ADO.NET インターフェイスとクラスを定義する必要があります。場合によっては、インターフェイスをすべて実装する必要がありますが、これは必須ではありません。また、場合によっては、インターフェイスとクラスのサブセットを実装することがあります。このような実装の例として、DataAdapter の実装があります。この実装では、クライアントが DataSet を主に処理するため、.NET Framework データ プロバイダは、DataSet とデータ ソース間の橋渡しとしての役割だけを果たします。
.NET Framework データ プロバイダで特定の ADO.NET クラスまたはメソッドがサポートされていない場合は、このようなクラスやメソッドを操作対象外要素として実装します。クライアントが特定の動作を予期している場合は、NotSupportedException をスローします。
実装できるインターフェイスの説明および各インターフェイスが必要となる状況を次の表に示します。
インターフェイス | 説明 | 実装に関するメモ |
---|---|---|
IDbConnection | データ ソースのある固有のセッションを表します。クライアント/サーバー データベース システムでは、このセッションはサーバーへのネットワーク接続と等価です。 | .NET Framework データ プロバイダの完全な実装に必要です。 |
IDbTransaction | ローカル トランザクションを表します。 | .NET Framework データ プロバイダの完全な実装に必要です。IDbTransaction API では入れ子のトランザクションが有効ですが、プロバイダはこのような入れ子のトランザクションをサポートする必要はありません。 |
IDbCommand | データ ソースへ接続するときに使用されるクエリまたはコマンドを表します。 | .NET Framework データ プロバイダの完全な実装に必要です。 |
IDataParameter | このインターフェイスでは、コマンドのパラメータと、そのパラメータの DataSet の列への割り当てを実装できるようにします。 | .NET Framework データ プロバイダの完全な実装に必要です。
IDataAdapter だけを実装するときには、このインターフェイスを使用する必要はありません。 |
IDataParameterCollection | このインターフェイスでは、コマンドのパラメータと、そのパラメータの DataSet の列への割り当てを実装できるようにします。 | .NET Framework データ プロバイダの完全な実装に必要です。 |
IDataReader | データ ソースから前方読み取り専用データ ストリームを読み取るメソッドを備えています。 | .NET Framework データ プロバイダの完全な実装に必要です。 |
IDataAdapter | このインターフェイスでは、DataSet へデータを格納し、DataSet の変更内容をデータ ソースへ反映するための DataAdapter をユーザーが実装できます。 | すべての .NET Framework データ プロバイダの実装に必要です。 |
IDbDataAdapter | このインターフェイスでは、リレーショナル データベースに連動する DataAdapter を実装できるようにします。DataSet にデータを読み込んだり、DataSet への変更をソース データベースとの間で調整したりするための一連のコマンドとデータベース接続を表します。 | .NET Framework データ プロバイダの完全な実装に必要です。 |
.NET Framework には、DbDataAdapter クラスも含まれています。DbDataAdapter クラスは、IDataAdapter クラスと IDbDataAdapter クラスをほぼ完全に実装します。DbDataAdapter クラスは、.NET Framework データ プロバイダ インターフェイスの完全なセットを実装するプロバイダによって使用されます。
参照
.NET Framework データ プロバイダの実装 | .NET Framework データ プロバイダの実装について | サンプル .NET Framework データ プロバイダ