1. Chargement d’un pilote JDBC

chuckleelephantbutteΛογισμικό & κατασκευή λογ/κού

9 Ιουν 2012 (πριν από 5 χρόνια και 4 μήνες)

498 εμφανίσεις


Pour se connecter à une base de données déclarée dans
l'administrateur ODBC par exemple, il faut charger le pilote
JDBC
-
ODBC (appelé pont JDBC
-
ODBC) :
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver
");
1.
Chargement d’un pilote JDBC

Pour se connecter à une base de données oracle , il faut
charger le pilote :
Class.forName
("
oracle.jdbc.driver.OracleDriver
");
03/12/2010
1
Cours JAVA

Certains compilateurs refusant cette notation, il faut parfois
appeler le driver de la façon suivante
:
Class.forName
("
sun.jdbc.odbc.JdbcOdbcDriver
").
newInstance
();

Pour se connecter à une base de données oracle , il faut
charger le pilote :
Class.forName
("
oracle.jdbc.driver.OracleDriver
");

Pour se connecter à une base de données
mysql
, il faut charger
le pilote :
Class.forName
("
org.gjt.mm.mysql.Driver
");

Quand une classe
Driver est chargée, elle doit créer une
instance
d’elle même et s’enregistrer auprès du
DriverManager

L’utilisation de la méthode
Class.forName()
peut lever une exception de type
ClassNotFoundException
.

il convient donc de placer le chargement du pilote dans un bloc sécurisé.
Exemple :
Try
{
Class.forName(«
oracle.jdbc.driver.OracleDriver
») ;
}
catch
(
ClassNotFoundException
e)
{
System.err.println(« Erreur de chargement du driver : + e) ;
}

L’utilisation du chargement d’une classe au moment de l’exécution par la
méthode
Class.forName()
requiers que celle
-
ci se trouve dans votre
CLASSPATH
.
1.
Chargement d’un pilote JDBC
03/12/2010
2
Cours JAVA

L’utilisation de la méthode
Class.forName()
peut lever une exception de type
ClassNotFoundException
.

il convient donc de placer le chargement du pilote dans un bloc sécurisé.
Exemple :
Try
{
Class.forName(«
oracle.jdbc.driver.OracleDriver
») ;
}
catch
(
ClassNotFoundException
e)
{
System.err.println(« Erreur de chargement du driver : + e) ;
}

Pour pouvoir dialoguer depuis vos programme Java avec la base Oracle vous aurez
besoin du driver
oracle.jdbc.OracleDriver
.

Celui se trouve dans le fichier
ojdbc14.jar
( 1,174,976
bytes
) qui contient le
bytecode
des différentes classes du driver
jdbc
pour la base de données Oracle.
1.
Chargement d’un pilote JDBC
Téléchargement du fichier OJDBC
http://www.oracle.com/technetwork/database/enterprise
-
edition/jdbc
-
10201
-
088211.html
03/12/2010
3
Cours JAVA
http://www.oracle.com/technetwork/database/enterprise
-
edition/jdbc
-
10201
-
088211.html
Fichier OJDBC
Intégrer ojdbc14.jar dans le "
classpath
" :

Pour intégrer ojdbc14.jar dans votre
"
classpath
" sous
NetBeans
, procéder
comme suit :
1.
Chargement d’un pilote JDBC
03/12/2010
4
Cours JAVA

Pour intégrer ojdbc14.jar dans votre
"
classpath
" sous
NetBeans
, procéder
comme suit :
1)
Effectuer un clic droit sur le projet et
sélectionner l'item
Properties
dans le
menu contextuel.
2)
Dans la fenêtre Project
Properties
:
1.
Sélectionner la catégorie
Bibliothèques
2.
Sélectionner l'onglet
Compiler
qui permet de choisir les
librairies intégrées au
classpath
lors de l'exécution (en effet
les classes du driver JDBC ne sont nécessaires qu'au
moment de l'exécution, le code source java ne faisant
référence qu'aux types définis dans l'API JDBC)
3.
Cliquer sur le bouton
Ajouter un fichier JAR/Dossier
Fichier OJDBC
Intégrer ojdbc14.jar dans le "
classpath
" :
1.
Chargement d’un pilote JDBC
03/12/2010
5
Cours JAVA
1.
Sélectionner la catégorie
Bibliothèques
2.
Sélectionner l'onglet
Compiler
qui permet de choisir les
librairies intégrées au
classpath
lors de l'exécution (en effet
les classes du driver JDBC ne sont nécessaires qu'au
moment de l'exécution, le code source java ne faisant
référence qu'aux types définis dans l'API JDBC)
3.
Cliquer sur le bouton
Ajouter un fichier JAR/Dossier
Fichier OJDBC
Intégrer ojdbc14.jar dans le "
classpath
" :
1.
Chargement d’un pilote JDBC
03/12/2010
6
Cours JAVA
Fichier OJDBC
Intégrer ojdbc14.jar dans le "
classpath
" :
3)
Avec l'explorateur de fichiers sélectionner le fichier ojdbc14.jar que vous aurez
précédemment enregistré sur votre disque et valider (bouton
Ouvrir
).
4)
validez votre choix en cliquant sur le bouton OK de la fenêtre Project
Properties
1.
Chargement d’un pilote JDBC
03/12/2010
7
Cours JAVA
4)
validez votre choix en cliquant sur le bouton OK de la fenêtre Project
Properties
2.
Définition de l’URL de connexion.

Afin de localiser votre serveur ou votre base de données, il est indispensable
de spécifier une adresse sous forme d’URL de type «
jdbc
».

Le format exact de cette URL est dépendant du pilote JDBC utilisé.

Un
URL pour une base de données est de la
formese
compose comme suit :
«
jdbc:
sous
-
protocole
:
base_de_donnée
»
03/12/2010
8
Cours JAVA

Par exemple pour oracle.
«
jdbc:
oracle:thin
:@
post_coo
:1521:Xe
»

oracle:
thin
est le sous
-
protocole (driver "
thin
" ; Oracle fournit aussi un
autre type de driver)

@
post_coo
:1521:Xe
désigne la base de données
Xe
située sur la
machine
post_coo
(le serveur écoute sur le port 1521)
2.
Définition de l’URL de connexion.
Base de
données
Pilote
URL typique
jar
MySQL
com.mysql.jdbc.Driver
jdbc:mysql://
localhost/ma_table
postgresql
org.postgresql.Driver
postgresql
-
jdbc3.jar ou
pg74.1jdbc3.jar
Les classes et jar des pilotes JCBC sont :
03/12/2010
9
Cours JAVA
postgresql
org.postgresql.Driver
postgresql
-
jdbc3.jar ou
pg74.1jdbc3.jar
HSQL
(
Hypersonic
)
org.hsqldb.jdbcDriver
jdbc:hsqldb:hsql:file
:/
tmp
/
testdb
3.
Etablissement de la connexion.

Pour se connecter à une base de données particulière, il s'agit :

d’importer le pacquage
java.sql.*
.
Classes
Interfaces
Exceptions
Array
Blob
CallableStatement
Clob
Connection
DatabaseMetaData
Driver
PreparedStatement
Ref
ResultSet
ResultSetMetaData
SQLData
SQLInput
SQLOutput
Statement
Struct
03/12/2010
10
Cours JAVA
Date
DriverManager
DriverPropertyInfo
Time
Timestamp
Types
Array
Blob
CallableStatement
Clob
Connection
DatabaseMetaData
Driver
PreparedStatement
Ref
ResultSet
ResultSetMetaData
SQLData
SQLInput
SQLOutput
Statement
Struct
BatchUpdateException
DataTruncation
SQLException
SQLWarning
Le package
java.sql
contient les
éléments suivants
:
3.
Etablissement de la connexion.

Créer une instance de la classe
Connection
grâce à la méthode
getConnection
()
de l'objet
DriverManager
en indiquant la base de données à
charger à l'aide de son URL :
String url = "jdbc:odbc:
base_de_donnees
";

La troisième étape doit nous permettre de rentrer en contact, pour la
première fois, avec notre base de données. C’est la connexion à proprement
parler.
03/12/2010
11
Cours JAVA

Créer une instance de la classe
Connection
grâce à la méthode
getConnection
()
de l'objet
DriverManager
en indiquant la base de données à
charger à l'aide de son URL :
String url = "jdbc:odbc:
base_de_donnees
";
Connexion au SGBD
Classe
java.sql.DriverManager
Gestion du contrôle et de la connexion au SGBD

static
Connection getConnection(String
url
, String
user
, String
password
)

url
: identification de la base considérée sur le SGBD

Format de l'URL est dépendant du SGGB utilisé

user
: nom de l'utilisateur qui se connecte à la base

password
: mot de passe de l'utilisateur
3.
Etablissement de la connexion.
03/12/2010
12
Cours JAVA
Connexion au SGBD
Classe
java.sql.DriverManager
Gestion du contrôle et de la connexion au SGBD

static
Connection getConnection(String
url
, String
user
, String
password
)

url
: identification de la base considérée sur le SGBD

Format de l'URL est dépendant du SGGB utilisé

user
: nom de l'utilisateur qui se connecte à la base

password
: mot de passe de l'utilisateur

Une fois la connexion établie, vous pouvez obtenir un certain nombre
d’informations en utilisant la classe
DatabaseMetaData
. Une instance de
cette classe vous est retournée par la méthode
Connexion.getDatabaseMetaData
()
.
Exemple(Oracle)
3.
Etablissement de la connexion.
public class
orcl
{
Connection con =
null
;
public
void
connexionBD
()
{
try
{
Class.forName
("
oracle.jdbc.driver.Oracle
Driver
");
System.out.println ("driver
etablie
");
}
catch
(
ClassNotFoundException
e)
{
System.out.println ("driver non trouvé");
}
String
URL
=
"
jdbc:oracle:thin
:@//127.0.0.1:1521/
xe
" ;
String
USER
= "system";
String
PASSWD
= "system";
try
{
con=
DriverManager.getConnection
(URL,
USER, PASSWD);
System.out.println ("connexion base
orcl
etablie
");
}
catch
(
SQLException
e)
{
System.out.println ("pas de connexion");
}
}
}
03/12/2010
13
Cours JAVA
public class
orcl
{
Connection con =
null
;
public
void
connexionBD
()
{
try
{
Class.forName
("
oracle.jdbc.driver.Oracle
Driver
");
System.out.println ("driver
etablie
");
}
catch
(
ClassNotFoundException
e)
{
System.out.println ("driver non trouvé");
}
String
URL
=
"
jdbc:oracle:thin
:@//127.0.0.1:1521/
xe
" ;
String
USER
= "system";
String
PASSWD
= "system";
try
{
con=
DriverManager.getConnection
(URL,
USER, PASSWD);
System.out.println ("connexion base
orcl
etablie
");
}
catch
(
SQLException
e)
{
System.out.println ("pas de connexion");
}
}
}