Qu'est-ce que ODBC ?

Il existe de nombreux préjugés sur ODBC dans le monde de l'informatique. Pour l'utilisateur final, il s'agit d'une icône dans le panneau de contrôle Microsoft Windows. Pour le programmeur d'applications, 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 aux bases 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 tout SGBD ou système d'exploitation. Bien que ce manuel utilise le langage 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/CEI. ODBC 3.x met pleinement en œuvre 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 mettaient pas pleinement en œuvre) et ajoute des fonctionnalités dont les développeurs d'applications de bases de données basées sur l'écran ont souvent besoin, telles que les curseurs déroulants.

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

Malgré le fait que Microsoft fournisse un gestionnaire de pilotes pour les ordinateurs fonctionnant sous Microsoft Windows 95 et versions ultérieures, qu'il ait écrit plusieurs pilotes ODBC et qu'il 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, il existe des pilotes et des applications ODBC pour macOS et diverses plateformes UNIX.

Pour aider les développeurs d'applications et de pilotes, Microsoft propose un Kit de développement logiciel (SDK) ODBC pour les ordinateurs fonctionnant sous Windows 95 ou une version ultérieure, qui fournit le gestionnaire de pilotes, la DLL d'installation, des outils de test et des exemples d'applications. Microsoft s'est associé à Visigenic Software pour transférer ces Kits de développement logiciel (SDK) sur Macintosh et diverses plateformes UNIX.

Il faut savoir que l'ODBC est conçu pour exposer les capacités des bases de données, et non pour les compléter. Par conséquent, les enregistreurs d'applications ne doivent pas s'attendre à ce que l'utilisation d'ODBC transforme soudainement une base de données simple en un moteur de base de données relationnelle entièrement proposé. Les auteurs de pilotes ne sont pas non plus censés mettre en œuvre des fonctionnalités qui ne se trouvent pas dans la base de données sous-jacente. Toutefois, Il existe une exception à cette règle : les développeurs qui écrivent des pilotes accédant directement aux données d'un fichier (comme les données d'un fichier Xbase) sont tenus d'écrire un moteur de base de données prenant en charge au moins une fonctionnalité SQL minimale. Une autre exception, c'est que le composant ODBC du SDK Windows, anciennement inclus dans le Kit de développement logiciel (SDK) Composants Microsoft Data Access (CAMD), fournit une bibliothèque de curseurs qui simule des curseurs défilants pour les pilotes qui appliquent 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 sous-traitant de transaction 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.