Freigeben über


Architektur der Desktop-Datenbanktreiber

Diese Treiber sind für die Verwendung unter Microsoft Windows 95 oder höher oder Windows NT 4.0 und Windows 2000 konzipiert. Unter Windows 95 oder höher werden nur 32-Bit-Anwendungen unterstützt. 16-Bit- und 32-Bit-Anwendungen werden unter Windows NT 4.0 und Windows 2000 unterstützt.

Hinweis

Informationen zur ODBC-Version, die mit diesen Treibern verwendet werden soll, finden Sie in der ODBC-Programmiererreferenz sowie in den Anmerkungen zu früheren und aktuellen Versionen. Mit Ausnahme der genannten Bereiche entsprechen diese Treiber der ODBC-Programmiererreferenz.

Die ODBC Desktop-Datenbanktreiber enthalten 32-Bit-Treiber für Microsoft Access, dBASE, Microsoft Excel, Paradox und Text. Es sind keine 16-Bit-Treiber enthalten. (Ein Treiber für Microsoft FoxPro ist separat verfügbar.)

Die Anwendungs-/Treiberarchitektur unter Windows 95 oder höher lautet:

App-/Treiberarchitektur: Windows 95 und höher

Die Verwendung dieser Treiber durch 16-Bit-Anwendungen unter Windows 95 wird nicht unterstützt.

Die Anwendungs-/Treiberarchitektur unter Windows NT 4.0 und Windows 2000 lautet:

App-/Treiberarchitektur: NT 4.0 und Windows 2000

Die Desktopdatenbanktreiber sind Treiber mit zwei Ebenen. In einer Konfiguration mit zwei Ebenen führt der Treiber den Prozess der Analyse, Überprüfung, Optimierung und Ausführung der Abfrage nicht aus. Stattdessen führt Microsoft Jet diese Aufgaben aus. Sie verarbeitet ODBC-API-Aufrufe und fungiert als SQL-Engine. Microsoft Jet ist zu einem integralen, untrennbaren Bestandteil der Treiber geworden: Es wird mit den Treibern ausgeliefert und befindet sich bei den Treibern, auch wenn es keine andere Anwendung auf dem Computer verwendet.

Die Desktopdatenbanktreiber bestehen aus sechs verschiedenen Treibern, genauer gesagt aus einer Treiberdatei (Odbcjt32.dll), die der ODBC-Treiber-Manager auf sechs verschiedene Arten verwendet. Das DRIVERID-Flag im Registrierungseintrag für eine Datenquelle bestimmt, welcher Treiber in Odbcjt32.dll der Treiber-Manager verwendet. Eine Anwendung übergibt dieses Flag in der Verbindungszeichenfolge, die in einem Aufruf von SQLDriverConnect enthalten ist. Standardmäßig ist das Flag die ID des Microsoft Access-Treibers.

Die Treibereinrichtungsdatei ändert das DRIVERID-Flag zur Setupzeit. Alle Treiber mit Ausnahme des Microsoft Access-Treibers verfügen über eine zugehörige Setup-DLL. Wenn Sie im Microsoft ODBC-Datenquellenadministrator für eine Datenquelle auf Einrichten klicken, lädt die DLL des ODBC-Installationsprogramms (Odbcinst.dll) die Setup-DLL. Die Setup-DLL exportiert die ODBC-Installationsprogrammfunktion SQLConfigDataSource. Wenn ein Fensterhandle an SQLConfigDataSource übergeben wird, zeigt diese Funktion ein Setupfenster an und ändert das DRIVERID-Flag entsprechend dem auf der Benutzeroberfläche ausgewählten Treiber.

Wenn eine Datei programmgesteuert erstellt wird, wird ein NULL-Fensterhandle an SQLConfigDataSource übergeben, und die Funktion erstellt dynamisch eine Datenquelle, wobei das DRIVERID-Flag entsprechend dem lpszDriver-Argument im Funktionsaufruf geändert wird.

Odbcjt32.dll implementiert ODBC-Funktionen zusätzlich zur Microsoft Jet-API. Es gibt jedoch keine direkte Zuordnung zwischen ODBC- und Microsoft Jet-Funktionen. Viele Faktoren, z. B. die Cursormodelle und die SQL-Zuordnung, verhindern eine direkte Korrelation der Funktionen.

Der ODBC-Treiber befindet sich zwischen der Microsoft Jet-Engine und dem ODBC-Treiber-Manager. Einige ODBC-Funktionen, die von einer Anwendung aufgerufen werden, werden vom Treiber-Manager verarbeitet und nicht an den Treiber übergeben. Für diese Funktionen sieht Microsoft Jet den Funktionsaufruf nie, da es keine direkte Verbindung mit dem Treiber-Manager hat.