Pool de recursos do OLE DB e serviços

Para trabalhar bem com o pool de OLE DB ou com qualquer serviço OLE DB, o provedor deve oferecer suporte a agregação de todos os objetos. Este é um requisito de OLE DB 1.5 ou posterior provedor. É essencial para aproveitar os serviços. Provedores que não oferecem suporte a agregação não podem ser agrupados e sem serviços adicionais são fornecidos.

Seja agrupado, provedores devem suportar o modelo de segmento livre. O pool de recursos determina o modelo de thread do provedor de acordo com o DBPROP_THREADMODEL propriedade.

Se o provedor tem um estado de conexão global pode mudar enquanto a fonte de dados está em um estado inicializado, ele deve suportar a nova DBPROP_RESETDATASOURCE propriedade. Esta propriedade é chamada antes de uma conexão é reutilizada e dá a oportunidade de limpar o estado antes do próximo a seu uso de provedor. Se o provedor não pode limpar a algum estado associado à conexão, pode retornar DBPROPSTATUS_NOTSETTABLE para a propriedade e a conexão não serão reutilizados.

Provedores que se conectar a um banco de dados remoto e podem detectar se a conexão pode ser perdida deve suportar a DBPROP_CONNECTIONSTATUS propriedade. Essa propriedade fornece os serviços de banco de dados OLE a capacidade de detectar conexões inativas e certificar-se de que eles não são retornados ao pool.

Finalmente, a inscrição de transação automática geralmente não funciona, a menos que ele é implementado no nível do mesmo pool ocorre. Provedores que oferecem suporte a inscrição da transação automática próprios devem oferecer suporte a desabilitar esta inscrição, expondo a DBPROP_INIT_OLEDBSERVICES de propriedade e a desativação de inscrição se a DBPROPVAL_OS_TXNENLISTMENT está desmarcada.

Consulte também

Conceitos

Técnicas avançadas de provedor