données, le programmeur est censé utiliser les APIs du SGBD utilisé (ou tout au moins un
wrapper). Cela présente un inconvénient majeur : elle rend les programmes dépendant du
SGBD. Par contre, c'est la seule solution lorsqu'on souhaite accéder à toutes les
fonctionnalités du logiciel, mais cela est loin de nos objectifs. ODBC est une interface qui
cache les détails de chaque SGBD. Pour être un peu plus exact, ODBC est une spécification
d'une API de SGBD, elle-même basée sur deux autres spécifications connues sous le nom de
X/Open et ISO CLI, formellement X/Open CAE "SQL Call-Level Interface" et ISO/IEC 9075-
3:1995 (E) "Call-Level Interface".
Dans ce tutoriel, nous allons découvrir comment utiliser ODBC sous Windows en langage C
mais, comme nous l'avons déjà dit tout à l'heure, ODBC existe sur de nombreux systèmes
incluant Windows, MacOS et UNIX, ce qui implique que ce tutoriel vous est quand même
aussi destiné même si vous n'êtes pas sous Windows.
II. Notions fondamentales
II-A. Les pilotes ODBC
ODBC fonctionne grâce à des pilotes, appelés justement pilotes ODBC, qui convertissent les
appels ODBC en appels natifs pour le SGBD. Pour accéder à une base de données en utilisant
ODBC, il faut donc qu'un pilote adéquat soit installé. Ce pilote est généralement
téléchargeable sur le site du constructeur s'il n'est pas déjà installé. Si vous êtes sous
Windows, vous n'avez pas besoin d'installer les pilotes pour Oracle, Access, dBase, Excel,
SQL Server et bien d'autres encore puisqu'ils ont déjà été installés en même temps que
Windows, à moins que vous vouliez tout simplement héberger plusieurs pilotes sur votre
ordinateur ou pour n'importe quelle autre raison.
II-B. Les sources de données ODBC
Une source de données ODBC est en quelque sorte un lien permettant à une application
utilisant ODBC de se connecter à la base de données décrite dans cette source de données.
Une source de données représente donc une base de données ainsi que le pilote qu'il faut
utiliser pour s'y connecter. La création d'une source de données se fait en quelques clics (ou
en ligne de commandes ...) en utilisant un utilitaire généralement fourni par le constructeur
(normalement fourni en même temps que le pilote). Les paramètres à spécifier lors de la
création d'une source de données varient selon le SGBD. Il s'agit de paramètres comme
l'emplacement du serveur, le port sur lequel il faut se connecter, le nom de la base, etc. mais
aussi et surtout le nom de la source de données appelée aussi DSN pour Data Source Name.