Skip Navigation Links
Accueil
Java Standard EditionExpand Java Standard Edition
Java EE 5Expand Java EE 5
Visual Basic .Net 2005Expand Visual Basic .Net 2005
Visual C++ .Net 2005Expand Visual C++ .Net 2005
Visual C# .Net 2005Expand Visual C# .Net 2005
Cours ASP .Net 2.0Expand Cours ASP .Net 2.0
PostgresqlExpand Postgresql
LinuxExpand Linux
Visual Studio 2008Expand Visual Studio 2008
ASP 3.0 ClassiqueExpand ASP 3.0 Classique
Cours Javascript - DOM - DHTMLExpand Cours Javascript - DOM - DHTML
Cours AjaxExpand Cours Ajax
VBAExpand VBA
AssembleurExpand Assembleur
PerlExpand Perl
MembresExpand Membres
L'auteur du site
Nouveautés sur le site
Contacts
Plan du site
Accueil > Java Standard Edition > JDBC ( Java Database Connectivity )
____________________________________________________________________________________________________
Connexion

JDBC ( Java Database Connectivity )

19/12/2007

I)Généralités

Les SGBD( Systèmes de Gestion de Base de Donnée) savent parfaitement traiter des masses importantes de données. Alors autant leur confier cette tâche, car Java n’est pas aussi compétent pour ce genre de travail. Cest pourquoi Java possède une interface qui permet d’avoir accès à des programmes extérieurs. Cette interface s’appelle JDBC( Java DataBase Connectivity) est permet donc de communiquer avec une base de données. Elle se présente sous la forme d’une bibliothèque Java. JDBC est une interface entre notre programme Java et la base de données.

b) Qu’est-ce qu’une interface ?

L’interface JDBC permet aux programmes Java de parler une langue commune qui est la « langue » JDBC. Cette langue est connue des pilotes. Java et le pilote parleront donc la même langue, ils vont donc se comprendre. Et le pilote va traduire cette langue JDBC en la langue spécifique à la base de données en question. Pourquoi Java ne parle t’il pas directement la langue de la base de données ? Parce que, première raison, seul le distributeur de la base de données connaît le secret de sa base de données. Donc seul lui peut « parler » à sa base de données. C’est pour cette raison que c’est lui qui fournit le pilote. Deuxième raison : Java, grâce à JDBC, parle une langue standardisée, qui permet de pouvoir changer de base de données, sans changer le programme Java, juste en changeant le pilote.
En résumé : java parle la langue JDBC, le SGBD parle la langue SGBD, et le pilote est un traducteur de la langue JDBC en langue SGBD( et inversement).

II) Le pilote

Il est nécessaire de posséder, en outre, un pilote qui va interpréter les instructions JDBC pour la base. Si le SGBD est MySQL, on prendra un pilote JDBC pour MySQL.

Attention, le terme « pilote » est également employé pour désigner l’interface JDBC elle-même. Ainsi on appelera pilote JDBC aussi ce que vous utiliserez dans votre programme Java pour pouvoir communiquer avec le (vrai) pilote de la base de données.

b) Le pont JDBC-ODBC

Cependant, il n’existe pas toujours de pilote JDBC pour tous les SGBD. Notamment les SGBD Microsoft utilisent l’interface ODBC. Pour résoudre ce problème, Java possède ce qui est appelé le pont JDBC-ODBC. Il permet de se servir des pilotes ODBC( mais aussi des pilotes JDBC).

Rappelons que c’est le constructeur du SGBD qui distribue les pilotes pour sa base de données. Par exemple MySQL fournit un pilote JDBC pour MySQL. Logique que ce soit le constructeur du SGBD, car un pilote effectue une traduction pour cette base de données : il faut donc connaître parfaitement la base de données pour pouvoir écrire un tel pilote ; par conséquent, c’est bien le rôle du distributeur de la base de données que d’écrire un tel pilote. Microsoft fournit donc les pilotes pour les bases de données Microsoft. Or Microsoft fournit des pilotes ODBC( qui utilisent l’interface ODBC, qui est une autre interface). C’est pour cette raison que Java possède le pont JDBC-ODBC, qui permet d’utiliser les pilotes ODBC des distributeurs, tout en continuant d’utiliser l’API JDBC(Application Programming Interface). Votre programme Java utilisant l'API JDBC est traduit en OBDC, il y a donc bien un pont. Au contraire des API .net qui sont spécifiques à l'interface( on a une API spécifique pour ODBC, OleDb, etc). Avec le système de pont, on n'est pas obligé de changer le code concernant la base de données, comme en .net.

Remarque: Le pont (appelé aussi pilote) JDBC-ODBC permet donc d’utiliser les pilotes JDBC, et aussi les pilotes ODBC.