次の方法で共有


OLE DB リソース プールとサービス

OLE DB プールまたは任意の OLE DB サービスを使用するには、プロバイダーはすべてのオブジェクトの集約をサポートする必要があります。これは、OLE DB 1.5 以降のすべてのプロバイダーの要件です。これはサービスの利用に不可欠です。集約をサポートしないプロバイダーはプールできないため、追加のサービスを利用できません。

プールするには、プロバイダーがフリー スレッド モデルをサポートしている必要があります。リソース プールは、DBPROP_THREADMODEL プロパティに基づいてプロバイダーのスレッド モデルを判断します。

データ ソースが初期化状態にあるときに、変更される可能性のあるグローバル接続状態にプロバイダーがある場合は、新しい DBPROP_RESETDATASOURCE プロパティをサポートする必要があります。このプロパティは、接続が再利用される前に呼び出され、次に使用される前に状態をクリーンアップする機会をプロバイダーに与えます。プロバイダーは、接続に関連付けられている状態をクリーンアップできない場合、プロパティに対して DBPROPSTATUS_NOTSETTABLE を返すことができます。この場合は、接続が再利用されません。

リモート データベースに接続し、その接続が失われたかどうかを検出できるプロバイダーは、DBPROP_CONNECTIONSTATUS プロパティをサポートする必要があります。このプロパティは、OLE DB サービスに対して切断された接続を検出し、それらがプールに返されていないことを確認する機能を与えます。

最後に、自動トランザクション確保は、一般にプールの発生と同じレベルで実装されていない限り動作しません。自動トランザクション確保をサポートするプロバイダーは、DBPROP_INIT_OLEDBSERVICES プロパティを公開し、DBPROPVAL_OS_TXNENLISTMENT が選択解除された場合に確保を無効にすることにより、この確保の無効化をサポートする必要があります。

参照

概念

高度なプロバイダー手法