Open database connectivity
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche à compléter concernant l'informatique, vous pouvez partager vos connaissances en le modifiant. |
En 1992 un sous-comité du SQL Access Group (SAG), qui devait fusionner plus tard avec le consortium X/Open, a défini une API permettant à des applications clientes de communiquer avec des bases de données utilisant le langage SQL. Cette API, dénommée SQL/CLI pour SQL Call Level Interface a été normalisée aussi bien par ISO que par ANSI en 1993 et a été par ailleurs annexée à la norme SQL-92. Cette spécification a été publiée en 1992 sous la dénomination Microsoft Open DataBase Connectivity (ODBC), mais Microsoft n'en est pas le seul auteur.
L'API ODBC est une interface procédurale : ce n'est pas un protocole à destination d'un serveur, comme peut l'être par exemple le protocole HTTP. L'API est accessible aux applications clientes sous la forme de bibliothèques à liaison dynamique. Ces bibliothèques, conçues habituellement par le fournisseur de la base, constituent le pilote ou driver de la base en question et doivent être installées sur le poste client.
Le terme ODBC est fortement corrélé à la société Microsoft, ce qui pourrait faire croire, à tort, que l'API ODBC est une API propriétaire. N'importe quel fournisseur de bases de données ou de logiciels peut implémenter cette API, qui est, de facto, disponible sur de très nombreuses plateformes, et pour de très nombreuses bases de données : par exemple sur AS/400 pour DB2 (le fichier d'inclusion C est sqlcli.h) et bien entendu sur Windows - Microsoft oblige.
Il est à noter que l'API JDBC (pour Java DataBase Connectivity) reprend in extenso la spécification ODBC ; ce qui est d'ailleurs clairement revendiqué dans la documentation Java.
ODBC (ou SQLCLI) ne visent pas spécifiquement des bases de données relationnelles - la plus connue étant certainement Microsoft Access, mais toute base de donnée supportant le langage SQL - et ce n'est pas tout à fait la même chose. Il existe ainsi des pilotes ODBC ou JDBC pour des bases de données qui ne sont pas des bases de données relationnelles.
ODBC signifie Open DataBase Connectivity. Il s'agit d'un format défini par Microsoft permettant la communication entre des clients bases de données fonctionnant sous Windows et les SGBD du marché.
Le gestionnaire ODBC est présent sur les systèmes Windows. Il existe toutefois des implémentations sur d'autres plates-formes, notamment des plates-formes UNIX/Linux.
La technologie ODBC permet d'interfacer de façon standard une application à n'importe quel serveur de bases de données, pour peu que celui-ci possède un driver ODBC (la quasi-totalité des SGBD possèdent un tel pilote, dont tous les principaux SGBD du marché).