# Open Database Connectivity

ODBC (sigle de Open Database Connectivity) est un intergiciel qui permet à une application informatique, par un procédé unique, de manipuler plusieurs bases de données qui sont mises à disposition par des systèmes de gestion de bases de données (SGBD) ayant chacun un procédé propre.
Ce logiciel, fondé sur le cahier des charges du SQL Access Group (en), a été mis en œuvre en 1992 par Microsoft pour les systèmes d'exploitation Windows, puis plus tard par d'autres éditeurs pour d'autres systèmes d'exploitation tels que Unix et la plateforme Java.

## Fonctionnalités

ODBC comporte un registre des bases de données (source de données) disponibles depuis l'ordinateur de l'usager.
Une interface graphique permet à l'usager d'ajouter des bases de données au registre.
Une interface de programmation permet aux applications informatiques de l'usager de manipuler les différentes bases de données inscrites dans le registre. L'utilisation de l'interface de programmation permet à une application de manipuler les bases de données mises à disposition par l'intermédiaire de la plupart des systèmes de gestion de base de données (SGBD) du marché.
Pour chaque SGBD, un pilote informatique permet de manipuler les bases de données en utilisant l'interface de programmation propre au SGBD. Lorsqu'une demande de manipulation est faite par une application informatique, cette demande est transmise au pilote informatique correspondant. Le nom du pilote informatique ainsi que d'autres informations se trouvent dans le registre des sources de données.
Le logiciel ODBC de Microsoft est fourni avec les pilotes pour les SGBD Access, FoxPro et SQL Server, du même auteur. De nombreux éditeurs de SGBD (Oracle, IBM, Teradata, MySQL, ...) fournissent les pilotes pour leurs produits.

## Histoire

En 1992, peu après la publication de la norme ANSI SQL-92, un consortium d'éditeurs de logiciels de base de données lance le projet d'une interface de programmation unique pour permettre d'exploiter les différents SGBD du marché en utilisant le langage SQL. Quelques mois plus tard, Microsoft, un des membres du consortium, met sur le marché un logiciel qui concrétise ce projet Open Database Connectivity.
À la même période, un autre consortium d'éditeurs de logiciels de base de données, le SQL Access Group édite un standard industriel relatif à la Call Level Interface (CLI). Le standard normalise l'interface de programmation de logiciels qui manipulent les bases de données.
Le consortium X/Open, nouveau propriétaire, travaille activement à enrichir le standard CLI, tandis que Microsoft travaille à aligner son produit ODBC avec le standard. En 1999 Microsoft met sur le marché ODBC 3.0, un logiciel entièrement conforme au dernier standard CLI.

### Versions

Historique des versions :
* 1.0 : 1993
* 2.0 : 1994
* 3.0 : 1995, John Goodson d'Intersolv et Frank Pellow et Paul Cotton d'IBM ont apporté une contribution importante à ODBC 3.0
* 3.5 : 1997, introduction de Unicode
* 3.8 : 2009, avec Windows 7
** regroupement de connexions prenant en charge les pilotes
** Exécution asynchrone (méthode de notification)

## Sujets connexes
### SQL

SQL (sigle de Structured Query Language) est un langage informatique qui fait l'objet d'une norme industrielle. Il sert à formuler des demandes d'opérations sur les bases de données. Utilisé avec ODBC, les demandes de manipulation sont alors formulées en langage SQL par une application informatique, puis transmises au SGBD à l'aide de ODBC.

### Call Level Interface

Call Level Interface (abr. CLI) est l'interface de programmation qui permet à une application informatique de manipuler les bases de données mises à disposition par un SGBD. Cette interface fait l'objet d'une norme industrielle. la norme est un condensé des fonctions minimales dont une application informatique a besoin pour pouvoir manipuler une base de données. Depuis 1999 cette norme a été fusionnée avec la norme ISO/IEC 9075 relative au langage SQL.
L'interface est procédurale et peut être utilisée avec de nombreux langages de programmation de ce style. La norme mentionne les langages Ada, C, COBOL, Fortran, Pascal, PL/I et MUMPS.
Depuis 1999 (date de la mise sur le marché de Microsoft ODBC 3.0), le logiciel édité par Microsoft ainsi que les pilotes édités par les autres sociétés pour leurs SGBD sont conformes à la norme ISO/IEC 9075.

### JDBC

JDBC (sigle de Java Database Connectivity) est un logiciel édité par Sun Microsystems, qui permet à des applications informatiques écrites pour la machine virtuelle Java de manipuler des bases de données. C'est un produit concurrent et similaire à ODBC. Il permet également de manipuler des bases de données par l'intermédiaire de ODBC.

### unixODBC et iODBC

unixODBC et iODBC sont deux logiciels Open Database Connectivity, conformes à la norme ISO/IEC 9075, pour les systèmes d'exploitation Unix.