Architecture des pilotes pour les bases de données de poste de travail
Ces pilotes sont conçus pour être utilisés sur Microsoft Windows 95 ou version ultérieure, ou Windows NT 4.0 et Windows 2000. Seules les applications 32 bits sont prises en charge sur Windows 95 ou version ultérieure ; Les applications 16 bits et 32 bits sont prises en charge sur Windows NT 4.0 et Windows 2000.
Notes
Pour plus d’informations sur la version d’ODBC à utiliser avec ces pilotes, reportez-vous aux Informations de référence du programmeur ODBC et aux notes de publication passées et actuelles. À l’exception des zones indiquées, ces pilotes sont conformes à la référence du programmeur ODBC.
Les pilotes de base de données de bureau ODBC incluent des pilotes 32 bits pour Microsoft Access, dBASE, Microsoft Excel, Paradox et Text. Aucun pilote 16 bits n’est inclus. (Un pilote pour Microsoft FoxPro est disponible séparément.)
L’architecture d’application/pilote sur Windows 95 ou version ultérieure est la suivante :
L’utilisation de ces pilotes par les applications 16 bits sur Windows 95 n’est pas prise en charge.
L’architecture d’application/pilote sur Windows NT 4.0 et Windows 2000 est la suivante :
Les pilotes de base de données de bureau sont des pilotes à deux niveaux. Dans une configuration à deux niveaux, le pilote n’effectue pas le processus d’analyse, de validation, d’optimisation et d’exécution de la requête. Au lieu de cela, Microsoft Jet effectue ces tâches. Il traite les appels d’API ODBC et agit comme un moteur SQL. Microsoft Jet est devenu une partie intégrante et inséparable des pilotes : il est fourni avec les pilotes et réside avec les pilotes, même si aucune autre application sur l’ordinateur ne l’utilise.
Les pilotes de base de données de bureau se composent de six pilotes différents ou, plus précisément, d’un fichier de pilotes (Odbcjt32.dll) que le Gestionnaire de pilotes ODBC utilise de six façons différentes. L’indicateur DRIVERID dans l’entrée de Registre d’une source de données détermine quel pilote dans Odbcjt32.dll le Gestionnaire de pilotes utilise. Une application transmet cet indicateur dans le chaîne de connexion inclus dans un appel à SQLDriverConnect. Par défaut, l’indicateur est l’ID du pilote Microsoft Access.
Le fichier d’installation du pilote modifie l’indicateur DRIVERID au moment de l’installation. Tous les pilotes à l’exception du pilote Microsoft Access ont une DLL d’installation associée. Lorsque vous cliquez sur Configurer dans l’Administrateur de source de données Microsoft ODBC pour une source de données, la DLL du programme d’installation ODBC (Odbcinst.dll) charge la DLL d’installation. La DLL d’installation exporte la fonction d’installation ODBC SQLConfigDataSource. Si un handle de fenêtre est passé à SQLConfigDataSource, cette fonction affiche une fenêtre d’installation et modifie l’indicateur DRIVERID en fonction du pilote sélectionné dans l’interface utilisateur.
Lorsqu’un fichier est créé par programmation, un handle de fenêtre NULL est passé à SQLConfigDataSource et la fonction crée une source de données dynamiquement, modifiant l’indicateur DRIVERID en fonction de l’argument lpszDriver dans l’appel de fonction.
Odbcjt32.dll implémente des fonctions ODBC sur l’API Microsoft Jet. Il n’existe cependant aucun mappage direct entre les fonctions ODBC et Microsoft Jet. De nombreux facteurs, tels que les modèles de curseur et le mappage SQL, empêchent une corrélation directe des fonctions.
Le pilote ODBC réside entre le moteur Microsoft Jet et le Gestionnaire de pilotes ODBC. Certaines fonctions ODBC appelées par une application sont gérées par le Gestionnaire de pilotes et ne sont pas transmises au pilote. Pour ces fonctions, Microsoft Jet ne voit jamais l’appel de fonction, car il n’a pas de connexion directe au Gestionnaire de pilotes.