Qu’est-ce que ODBC ?

De nombreuses idées fausses sur ODBC existent dans le monde informatique. Pour l’utilisateur final, il s’agit d’une icône dans microsoft® Windows Panneau de configuration ®. Pour le programmeur d’application, il s’agit d’une bibliothèque contenant des routines d’accès aux données. Pour beaucoup d’autres, il s’agit de la réponse à tous les problèmes d’accès à la base de données jamais imaginés.

Tout d’abord, ODBC est une spécification pour une API de base de données. Cette API est indépendante de n’importe quel SGBD ou système d’exploitation ; bien que ce manuel utilise C, l’API ODBC est indépendante du langage. L’API ODBC est basée sur les spécifications CLI de Open Group et ISO/IEC. ODBC 3. x implémente entièrement ces deux spécifications - les versions antérieures d’ODBC étaient basées sur des versions préliminaires de ces spécifications, mais ne les implémentaient pas entièrement - et ajoute des fonctionnalités couramment nécessaires aux développeurs d’applications de base de données basées sur l’écran, telles que les curseurs défilementables.

Les fonctions de l’API ODBC sont implémentées par les développeurs de pilotes spécifiques aux SGBD. Les applications appellent les fonctions de ces pilotes pour accéder aux données de manière indépendante de SGBD. Un Gestionnaire de pilotes gère la communication entre les applications et les pilotes.

Bien que Microsoft fournit un gestionnaire de pilotes pour les ordinateurs exécutant Microsoft Windows ® 95 et versions ultérieures, a écrit plusieurs pilotes ODBC et appelle des fonctions ODBC à partir de certaines de ses applications, tout le monde peut écrire des applications et des pilotes ODBC. En fait, la grande majorité des applications et pilotes ODBC disponibles aujourd’hui sont écrits par des entreprises autres que Microsoft. En outre, les pilotes et applications ODBC existent sur Macintosh® et sur diverses plateformes UNIX.

Pour aider les développeurs d’applications et de pilotes, Microsoft propose un kit de développement logiciel ODBC (SDK) pour les ordinateurs exécutant Windows 95 et versions ultérieures qui fournissent le gestionnaire de pilotes, la DLL d’installation, les outils de test et les exemples d’applications. Microsoft s’est associé à Visigenic Software pour porter ces kits SDK sur Macintosh et une variété de plateformes UNIX.

Il est important de comprendre que ODBC est conçu pour exposer les fonctionnalités de base de données, et non les compléter. Ainsi, les enregistreurs d’applications ne doivent pas s’attendre à ce que l’utilisation d’ODBC transforme soudainement une base de données simple en moteur de base de données relationnelle entièrement proposé. Les enregistreurs de pilotes ne sont pas censés implémenter des fonctionnalités introuvables dans la base de données sous-jacente. Une exception à ceci est que les développeurs qui écrivent des pilotes qui accèdent directement aux données de fichier (telles que les données d’un fichier Xbase) doivent écrire un moteur de base de données qui prend en charge au moins une fonctionnalité de SQL minimale. Une autre exception est que le composant ODBC du Kit de développement logiciel (SDK) Windows, anciennement inclus dans le Kit de développement logiciel (SDK) Microsoft Data Access Components (MDAC), fournit une bibliothèque de curseurs qui simule des curseurs défilementables pour les pilotes qui implémentent un certain niveau de fonctionnalité.

Les applications qui utilisent ODBC sont responsables de toutes les fonctionnalités inter-bases de données. Par exemple, ODBC n’est pas un moteur de jointure hétérogène, ni un processeur de transactions distribué. Toutefois, étant donné qu’il est indépendant du SGBD, il peut être utilisé pour créer ces outils inter-bases de données.