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 が選択されていない場合に登録を無効にすることで、この登録を無効にできる必要があります。