Architettura dei driver di database desktop
Questi driver sono progettati per l'uso in Microsoft Windows 95 o versioni successive o Windows NT 4.0 e Windows 2000. Solo le applicazioni a 32 bit sono supportate in Windows 95 o versioni successive; Le applicazioni a 16 bit e a 32 bit sono supportate in Windows NT 4.0 e Windows 2000.
Nota
Per informazioni sulla versione di ODBC da usare con questi driver, fare riferimento alle note sulla versione precedenti e correnti del programmatore ODBC. Ad eccezione delle aree indicate, questi driver sono conformi alle informazioni di riferimento del programmatore ODBC.
I driver di database desktop ODBC includono driver a 32 bit per Microsoft Access, dBASE, Microsoft Excel, Paradox e Text. Non sono inclusi driver a 16 bit. Un driver per Microsoft FoxPro è disponibile separatamente.
L'architettura di applicazione/driver in Windows 95 o versione successiva è:
L'uso di questi driver da parte di applicazioni a 16 bit in Windows 95 non è supportato.
L'architettura di applicazione/driver in Windows NT 4.0 e Windows 2000 è:
I driver di database desktop sono driver a due livelli. In una configurazione a due livelli, il driver non esegue il processo di analisi, convalida, ottimizzazione ed esecuzione della query. Microsoft Jet esegue invece queste attività. Elabora le chiamate ALL'API ODBC e funge da motore SQL. Microsoft Jet è diventato parte integrante, inseparabile dei conducenti: viene fornito con i conducenti e risiede con i driver, anche se nessun'altra applicazione sul computer lo usa.
I driver di database desktop sono costituiti da sei driver diversi, o più precisamente da un file di driver (Odbcjt32.dll) usato da Gestione driver ODBC in sei modi diversi. Il flag DRIVERID nella voce del Registro di sistema per un'origine dati determina quale driver in Odbcjt32.dll viene usato da Gestione driver. Un'applicazione passa questo flag nel stringa di connessione incluso in una chiamata a SQLDriverConnect. Per impostazione predefinita, il flag è l'ID del driver di Microsoft Access.
Il file di installazione del driver modifica il flag DRIVERID in fase di installazione. Tutti i driver ad eccezione del driver di Microsoft Access hanno una DLL di installazione associata. Quando si fa clic su Setup in Microsoft ODBC Data Source Administrator per un'origine dati, la DLL del programma di installazione ODBC (Odbcinst.dll) carica la DLL di installazione. La DLL di installazione esporta la funzione del programma di installazione ODBC SQLConfigDataSource. Se un handle di finestra viene passato a SQLConfigDataSource, questa funzione visualizza una finestra di installazione e modifica il flag DRIVERID in base al driver selezionato dall'interfaccia utente.
Quando un file viene creato a livello di codice, un handle di finestra NULL viene passato a SQLConfigDataSource e la funzione crea un'origine dati in modo dinamico, modificando il flag DRIVERID in base all'argomento lpszDriver nella chiamata di funzione.
Odbcjt32.dll implementa funzioni ODBC oltre all'API Microsoft Jet. Non esiste tuttavia alcun mapping diretto tra le funzioni ODBC e Microsoft Jet. Molti fattori, ad esempio i modelli di cursore e il mapping SQL, impediscono una correlazione diretta delle funzioni.
Il driver ODBC risiede tra il motore Microsoft Jet e Gestione driver ODBC. Alcune funzioni ODBC chiamate da un'applicazione vengono gestite da Gestione driver e non passate al driver. Per queste funzioni, Microsoft Jet non vede mai la chiamata di funzione perché non ha una connessione diretta a Gestione driver.