Département Informatique
Programmation en Java
Laboratoire de base de données
Introduction à JDBC
par Louis SWINNEN
Ce document est disponible sous licence Creative Commons indiquant qu’il peut être
reproduit, distribué et communiqué pour autant que le nom de l’auteur reste présent,
qu’aucune utilisation commerciale ne soit faite à partir de celui-ci et que le document ne soit
ni modifié, ni transformé, ni adapté.
http://creativecommons.org/licenses/by-nc-nd/2.0/be/
La Haute Ecole Libre Mosane (HELMo) attache une grande importance au respect des droits d’auteur.
C’est la raison pour laquelle nous invitons les auteurs dont une oeuvre aurait été, malgré tous nos
efforts, reproduite sans autorisation suffisante, à contacter immédiatement le service juridique de la
Haute Ecole afin de pouvoir régulariser la situation au mieux.
Avril 2009
© L. Swinnen, 2009 2
Laboratoire de Base de données
Introduction à JDBC
par Louis SWINNEN
1. Introduction
Comme nous vous demandons d’explorer JDBC personnellement, ce document explique les
notions importantes et donne des références vers la documentation. Ce document détaille
également l’installation des gestionnaires JDBC sur une machine (votre portable, votre
ordinateur personnel, …).
1.1 JDBC de quoi s’agit-il ?
JDBC (
Java DataBase Connectivity
) est un ensemble logiciel qui permet à une application
Java d’établir une connexion vers une base de données. Les différents éléments de cet
ensemble logiciel sont décrits à la figure 1.
Figure 1 : architecture JDBC
1
[1]
Au sommet, nous trouvons l’application Java qui souhaite communiquer avec une base de
données. Cette application utilise l’API JDBC (ensemble de classes et de méthodes
spécifiques) pour dialoguer avec la base de données. Ces classes et méthodes sont
identiques à toutes les bases de données. L’API JDBC utilise un driver ou gestionnaire
JDBC pour établir la connexion avec la base de données. Ce gestionnaire est spécifique au
SGBD auquel on souhaite se connecter. Il est, par ailleurs, fournit par le constructeur de la
base de données. Il en existe de plusieurs types et aujourd’hui ils sont très souvent eux-
mêmes écrit en Java ce qui les rend portable également
1
Figure : Copyright 1994-2007 Sun Microsystems, Inc. All Rights Reserved
© L. Swinnen, 2009 3
1.2 Les gestionnaires JDBC
Dans le cadre de nos laboratoires, deux systèmes de gestion de base de données sont
principalement utilisés, à savoir Oracle Express Edition et SQL Server 2005. Pour ces deux
SGBD, des drivers JDBC sont disponibles.
Oracle Express Edition
:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
MS SQL Server 2005
:
http://m
sdn.microsoft.com/en
-
Tableau 1 : gestionnaires JDBC
Le tableau 1 détaille les liens à partir desquels les différents gestionnaires JDBC peuvent être
téléchargés. Pour Oracle, veillez bien à choisir le gestionnaire
SQLJ/JDBC 10g Release 2
(version 10.2.xx). Il faut, au moins, télécharger les composants nommés
ojdbc14.jar
et
orai18n.jar
. Pour SQL Server, vous pouvez télécharger la version 1.2 du gestionnaire JDBC
pour SQL Server 2005.
Vous trouverez également l’ensemble des gestionnaires JDBC sur chaque machine dans le
répertoire
C:\Program files\JDBC
.
1.3 Installation des gestionnaires JDBC
La procédure d’installation consiste à placer les gestionnaires JDBC dans un dossier de votre
choix et ensuite de référencer ces gestionnaires. Les gestionnaires JDBC prennent la forme
de fichiers
Jar
. Un fichier
Jar
est une archive Java pouvant contenir des composants (des
classes compilées directement utilisables).
Dans votre environnement de développement (par exemple sous NetBeans, Eclipse ou
IntelliJ), il faut indiquer, dans votre projet, le lien vers le gestionnaire JDBC à utiliser.
Par exemple dans NetBeans, il faut ajouter les fichiers JAR dans votre projet. Pour
ce faire, dans la section
Libraries
(panneau de gauche), faire un clic-droit et choisir
Add Jar/Folders
et sélectionner les fichiers JAR nécessaires à votre application.
Sous Eclipse, il est possible lors de la création du projet Java d’indiquer des libraires
particulières. Ainsi dans la fenêtre
Java Settings
, choisir l’onglet
Libraries
et ensuite
Add External JARs
et sélectionner les fichiers JAR. Si le projet est déjà créé, il est
possible d’ajouter les libraires en faisant un clic-droit sur le nom du projet et en
choisissant Properties. Ensuite, l’option
Java Build Path
fait apparaître une série
d’onglets. Choisir dans l’onglet
Librairies
l’option
Add External JARs
et sélectionner les
fichiers JARs à intégrer.
Sous IntelliJ, il faut ajouter également les gestionnaires JDBC. Pour ce faire, dans le
projet (panneau de gauche), faire un clic-droit sur
Libraries
et choisir
Jump To
Source
. Les paramètres du projet sont alors affichés, choisir dans la section
Librairies
,
l’icône + au sommet. Ensuite, il faut donner un nom à ces librairies, comme par
exemple JDBC Oracle et enfin, dans le panneau de droite, choisir l’option
Attach
Classes
et choisir les librairies à ajouter.
En dehors de l’environnement de développement, il faut modifier la variable d’environnement
CLASSPATH afin que celle-ci pointe vers les fichiers JAR. Ainsi, sous Windows, il faut
effectuer les étapes suivantes (en administrateur) :
Sous Windows XP : Clic-droit sur le
poste de travail
, choisir
Propriétés
puis l’onglet
Avancé
et cliquer sur
Variables d’environnement
.
© L. Swinnen, 2009 4
Sous Windows Vista : Clic-droit sur
Ordinateur
puis choisir
Propriétés
puis, dans les
tâches qui apparaissent à gauche, choisir
Paramètres système avancés
et ensuite
cliquer sur
Variables d’environnement
.
Dans la section
Variables système
, localiser la variable
PATH
(qui indique le chemin
de recherche par défaut) et
modifiez
celle-ci pour ajouter le chemin vers les fichiers
systèmes Java. Ainsi, si votre compilateur Java est installé dans C:\Program
Files\Java\jdk1.6.0_06, ajoutez ceci à la fin de la valeur existante :
;C:\Program
Files\Java\jdk1.6.0_06\bin
Egalement dans la section
Variables système
, vérifiez si la variable
CLASSPATH
est
définie. Si ce n’est pas le cas, il faut créer une nouvelle variable, sinon modifier la
variable existante. Il faut ici ajouter les chemins vers les différents gestionnaires
JDBC installés sur votre machine. Si, comme à l’école, les gestionnaires sont installés
dans un répertoire JDBC dans le dossier Program Files, la variable
CLASSPATH
doit
contenir notamment le chemin suivant :
C:\Program Files\JDBC\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.1\fra\sqljdbc.jar ;
C:\Program Files\JDBC\Oracle\ojdbc14.jar; C:\program files\JDBC\Oracle\orai18n.jar
Sous les systèmes basés Unix, il faut réaliser les mêmes modifications. Par exemple, sous
Linux, si vous avez installé le compilateur Java et les gestionnaires JDBC dans le répertoire
/opt
, vous devez adapter la variable
PATH
et
CLASSPATH
comme sous Windows.
Le plus simple est d’ajouter le fichier suivant dans le répertoire
/etc/profile.d
:
Fichier
/etc/profile.d/java.sh
#! /bin/bash
JAVA_HOME=/opt/jdk1.6.0_06
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$CLASSPATH:/opt/JDBC/Microsoft\ SQL\ Server\ 2005\ JDBC\ Driver/
sqljdbc_1.1/fra/sqljdbc.jar:/opt/JDBC/Oracle/odjbc14.jar:/opt/JDBC/Oracle/
orai18n.jar
export JAVA_HOME PATH CLASSPATH
Il reste ensuite à rendre ce script exécutable soit en ajoutant la permission
execute
par
l’interface graphique, ou en entrant dans un terminal la commande suivante :
chmod +x /etc/profile.d/java.sh
Une fois cette modification effectuée, il suffit de redémarrer la machine et l’environnement
Java est prêt à être utilisé.
© L. Swinnen, 2009 5
2. Utilisation de JDBC
Afin d’illustrer l’utilisation de JDBC, je propose un exemple qui sera décrit et détaillé par la
suite. Nous allons donc commencer par décrire la base de données considérée et puis nous
détaillerons les éléments à mettre en place au travers d’un exemple. Enfin nous reviendrons
sur quelques concepts théoriques importants dans toutes applications JDBC.
Nos exemples se concentreront autour des deux SGBD utilisés à l’école, à savoir SQL Server
et Oracle. Si vous souhaitez établir des connexions vers d’autres bases de données, il est
important, après avoir installé le gestionnaire de base de données de bien lire la
documentation afin de déterminer comment la connexion peut être établie.
2.1 La base de données considérée
Lignecom
NCOM
NPRO
QCOM
id: NPRO
NCOM
acc
ref: NPRO
ref: NCOM
acc
Produit
NPRO
LIBELLE
PRIX
QSTOCK
id: NPRO
acc
Commande
NCOM
DATECOM
NCLI
id: NCOM
acc
ref: NCLI
acc
Client
NCLI
NOM
ADRESSE
LOCALITE
CAT
COMPTE
id: NCLI
acc
2.2 Exemple d’implémentation de connexion vers Oracle
Un élément important dans la mise en place d’une application JDBC est la chaîne de
connexion. En effet, JDBC utilise une URL pour localiser le serveur de base de données.
Cette URL est propre au SGBD et mentionne généralement :
le nom (ou l’IP) du serveur de
base de données, le nom de la base de données, le nom de l’utilisateur et le mot de passe
de connexion.
Dans le cas d’Oracle XE (
version utilisée et installée à l’école
), la chaîne de connexion est la
suivante :
jdbc:oracle:thin:username/pass@//serverName:1521/XE
La chaîne de connexion doit préciser :
serverName : Le nom / IP du serveur Oracle sur lequel on se connecte
databaseName : Le nom de la base de donnée doit être XE
userName : le nom de l’utilisateur pour la connexion
pass : le mot de passe de connexion
En plus de la chaîne de connexion, il est cessaire de mentionner à la couche JDBC le
chemin vers le pilote utilisé. Ce chemin est propre à chaque pilote JDBC. Ainsi, pour Oracle
XE, il faut mentionner comme chemin :
oracle.jdbc.OracleDriver
Ce chemin sera présent dans l’instruction « Class.forName » utilisé lors de la connexion.
2.3 Exemple d’implémentation de connexion vers SQL Server
Un élément important dans la mise en place d’une application JDBC est la chaîne de
connexion. En effet, JDBC utilise une URL pour localiser le serveur de base de données.
Cette URL est propre au SGBD et mentionne généralement :
le nom (ou l’IP) du serveur de
base de données, le nom de la base de données, le nom de l’utilisateur et le mot de passe
de connexion.
1 / 21 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !