Condividi tramite


Servizi e pooling di risorse OLE DB

Per funzionare correttamente con il poolING OLE DB o con qualsiasi servizio OLE DB, il provider deve supportare l'aggregazione di tutti gli oggetti. Si tratta di un requisito di qualsiasi provider OLE DB 1.5 o versione successiva. È fondamentale per sfruttare i servizi. I provider che non supportano l'aggregazione non possono essere inseriti in pool e non vengono forniti servizi aggiuntivi.

Per essere in pool, i provider devono supportare il modello di thread libero. Il pool di risorse determina il modello di thread del provider in base alla proprietà DBPROP_THREADMODEL.

Se il provider ha uno stato di connessione globale che potrebbe cambiare mentre l'origine dati si trova in uno stato inizializzato, deve supportare la nuova proprietà DBPROP_RESETDATASOURCE. Questa proprietà viene chiamata prima che una connessione venga riutilizzata e offre al provider la possibilità di pulire lo stato prima del successivo utilizzo. Se il provider non riesce a pulire uno stato associato alla connessione, può restituire DBPROPSTATUS_NOTSETTABLE per la proprietà e la connessione non verrà riutilizzata.

Provider che si connettono a un database remoto e possono rilevare se la connessione potrebbe andare persa deve supportare la proprietà DBPROP_CONNECTIONSTATUS. Questa proprietà offre ai servizi OLE DB la possibilità di rilevare connessioni inattive e assicurarsi che non vengano restituite al pool.

Infine, l'integrazione automatica delle transazioni in genere non funziona a meno che non venga implementata allo stesso livello in cui si verifica il pooling. I provider che supportano l'integrazione automatica delle transazioni devono supportare la disabilitazione di questa integrazione esponendo la proprietà DBPROP_INIT_OLEDBSERVICES e disabilitando l'integrazione se la DBPROPVAL_OS_TXNENLISTMENT è deselezionata.

Vedi anche

Tecniche avanzate del provider