Condividi tramite


Driver basati su DBMS

I driver basati su DBMS vengono usati con origini dati come Oracle o SQL Server che forniscono un motore di database autonomo per il driver da usare. Questi driver accedono ai dati fisici tramite il motore autonomo, ovvero inviano istruzioni SQL a e recuperano i risultati dal motore.

Poiché i driver basati su DBMS usano un motore di database esistente, in genere sono più facili da scrivere rispetto ai driver basati su file. Anche se un driver basato su DBMS può essere facilmente implementato convertendo le chiamate ODBC in chiamate API native, ciò comporta un driver più lento. Un modo migliore per implementare un driver basato su DBMS consiste nell'usare il protocollo del flusso di dati sottostante, ciò che in genere fa l'API nativa. Ad esempio, un driver di SQL Server deve usare TDS (il protocollo del flusso di dati per SQL Server) anziché la libreria di database (l'API nativa per SQL Server). Un'eccezione a questa regola si verifica quando ODBC è l'API nativa. Ad esempio, Watcom SQL è un motore autonomo che risiede nello stesso computer dell'applicazione e viene caricato direttamente come driver.

I driver basati su DBMS fungono da client in una configurazione client/server in cui l'origine dati funge da server. Nella maggior parte dei casi, il client (driver) e il server (origine dati) risiedono in computer diversi, anche se entrambi potrebbero risiedere nello stesso computer che esegue un sistema operativo multitasking. Una terza possibilità è un gateway, che si trova tra il driver e l'origine dati. Un gateway è un componente software che fa sì che un DBMS sia simile a un altro. Ad esempio, le applicazioni scritte per l'uso di SQL Server possono anche accedere ai dati DB2 tramite il Micro Decisionware DB2 Gateway; questo prodotto fa sì che DB2 sia simile a SQL Server.

La figura seguente illustra tre diverse configurazioni dei driver basati su DBMS. Nella prima configurazione, il driver e l'origine dati risiedono nello stesso computer. Nel secondo, il driver e l'origine dati risiedono in computer diversi. Nel terzo caso, il driver e l'origine dati risiedono in computer diversi e un gateway si trova tra di essi, risiedendo in un altro computer ancora.

Three configurations for DBMS-based drivers