Поделиться через


Создание пулов ресурсов и служб OLE DB

Для работы с пулом или любыми другими службами OLE DB поставщик должен поддерживать агрегирование всех объектов. Это требование предъявляется поставщиками OLE DB версии 1.5 или более поздней. Если это требование не выполняется, использование служб невозможно. Для поставщиков, не поддерживающих агрегирование, невозможно создание пула и использование дополнительных служб.

Создание пулов возможно только для поставщиков, поддерживающих свободную потоковую модель. Потоковая модель поставщика определяется в пуле ресурсов в соответствии со значением свойства DBPROP_THREADMODEL.

Если глобальное состояние поставщика может измениться, когда источник данных находится в инициализированном состоянии, поставщик должен поддерживать свойство DBPROP_RESETDATASOURCE. Это свойство вызывается перед повторным использованием подключения и позволяет очистить состояние поставщика перед его повторным использованием. Если не удается очистить связанное с подключением состояние поставщика, для отмены повторного использования подключения можно возвратить значение DBPROPSTATUS_NOTSETTABLE свойства.

Поставщики, в которых используется подключение к удаленной базе данных и предусматривается обнаружение возможности потери соединения, должны поддерживать свойство DBPROP_CONNECTIONSTATUS. C помощью этого свойства службы OLE DB могут обнаруживать неработающие подключения и обеспечивать их невозвращение в пул.

Наконец, автоматическое зачисление транзакций обычно работает только в том случае, если оно реализовано на том же уровне, что и создание пулов. Поставщики, которые поддерживают автоматическое зачисление транзакций, должны поддерживать отключение зачисления с помощью свойства DBPROP_INIT_OLEDBSERVICES, а также при отмене выбора свойства DBPROPVAL_OS_TXNENLISTMENT.

См. также

Основные понятия

Дополнительные способы использования поставщика