Open database connectivity

Un article de Wikipédia, l'encyclopédie libre.

Open DataBase Connectivity (ODBC) est un ensemble API/pilote permettant la communication entre des clients de bases de données et les SGBD du marché.

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.

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 reconnaissant 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.

Le gestionnaire ODBC est présent de nombreuses plates-formes, notamment des plates-formes Windows et de type UNIX.

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).

[modifier] Liens externes

site officiel de Microsoft site officiel pour Unix et dérivés