OLE DB 리소스 풀링 및 서비스
업데이트: 2007년 11월
공급자가 OLE DB 풀링이나 OLE DB 서비스와 잘 작동하려면 모든 개체 집합체를 지원해야 합니다. 이는 OLE DB 1.5 이상 공급자의 요구 사항입니다. 이는 특히 레버리징 서비스에서 중요한 사항입니다. 집합체를 지원하지 않는 공급자는 풀링될 수 없으므로 추가 서비스가 전혀 제공되지 않습니다.
공급자는 풀링되려면 자유 스레드 모델을 지원해야 합니다. 리소스 풀은 DBPROP_THREADMODEL 속성에 따라 공급자의 스레드 모델을 결정합니다.
데이터 소스가 초기화된 상태에 있는 동안 공급자에 변경될 수 있는 전역 연결 상태가 있을 경우에는 공급자가 새로운 DBPROP_RESETDATASOURCE 속성을 지원해야 합니다. 이 속성은 연결이 다시 사용되기 전에 호출되어 연결을 다시 사용하기 전에 상태를 정리할 수 있는 기회를 공급자에게 제공합니다. 공급자가 연결과 관련된 상태를 정리할 수 없을 경우에는 속성에 DBPROPSTATUS_NOTSETTABLE을 반환할 수 있으며, 그러면 연결을 다시 사용할 수 없습니다.
원격 데이터베이스에 연결되어 연결이 끊어졌는지를 감지할 수 있는 공급자는 DBPROP_CONNECTIONSTATUS 속성을 지원해야 합니다. 이 속성은 끊어진 연결을 감지하고 이러한 연결이 풀에 반환되지 않도록 하는 기능을 OLE DB 서비스에 제공합니다.
마지막으로 자동 트랜잭션 참여는 풀링이 발생하는 것과 같은 수준에서 구현하지 않으면 일반적으로 작동하지 않습니다. 자동 트랜잭션 참여를 자체적으로 지원하는 공급자는 DBPROPVAL_OS_TXNENLISTMENT선택이 해제된 경우 DBPROP_INIT_OLEDBSERVICES 속성을 노출하고 참여를 해제하는 방법으로 참여 해제를 지원해야 합니다.