Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Chapitre 31. Interface JDBC | Avance rapide | Suivant |
Cette section d�crit comment charger et initialiser le pilote JDBC dans vos programmes.
Toute source utilisant JDBC a besoin d'importer le paquet java.sql en utilisant :
import java.sql.*;
Note�: N'importez pas le paquet org.postgresql. Si vous le faites, vos sources ne compileront pas car javac sera en pleine confusion.
Avant de vous connecter � une base de donn�es, vous avez besoin de charger le pilote. Deux m�thodes sont disponibles et celui � utiliser d�pend de votre code.
Dans la premi�re m�thode, votre code charge implicitement le pilote en
utilisant la m�thode Class.forName()
. Pour
PostgreSQL, vous devriez utiliser :
Class.forName("org.postgresql.Driver");
Ceci charge le pilote et, pendant le chargement, le pilote s'enregistre lui-m�me avec JDBC.
Note�: La m�thode
forName()
peut renvoyerClassNotFoundException
si le pilote n'est pas disponible.
C'est la m�thode la plus commun�ment utilis�e mais elle oblige votre code � utiliser uniquement PostgreSQL. Si votre code peut acc�der � d'autres syst�mes de bases de donn�es dans le futur et que vous ne souhaitez pas utiliser d'extensions sp�cifiques � PostgreSQL, alors la deuxi�me m�thode est conseill�e.
La seconde m�thode passe le pilote en param�tre � la JVM lors de son lancement en utilisant l'argument -D. Exemple :
java -Djdbc.drivers=org.postgresql.Driver example.ImageViewer
Dans cet exemple, la JVM tentera de charger le pilote
pendant son initialisation. Ceci fait, ImageViewer
est lanc�e.
Cette m�thode est la meilleure car elle permet � votre code d'�tre utilis� avec d'autres paquets de bases de donn�es sans recompiler le code. Le seul �l�ment qui pourrait changer est l'URL de connexion. Ce point est trait� tout de suite apr�s.
Une derni�re chose : Quand votre code essaie d'ouvrir une
Connection
et que vous obtenez une
SQLException
de type No driver
available , ceci est probablement d� au fait que pilote ne fait
pas partie du chemin de classe ou que la valeur du param�tre n'est pas
correcte.
Avec JDBC, une base de donn�es est repr�sent�e par une URL (Uniform Resource Locator). Avec PostgreSQL, elle peut prendre l'une des formes suivantes :
jdbc:postgresql:base_de_donn�es
jdbc:postgresql://h�te/base_de_donn�es
jdbc:postgresql://h�te:port/base_de_donn�es
Les param�tres ont les significations suivantes :
Le nom d'h�te du serveur. Par d�faut, localhost. Pour sp�cifier une adresse IPv6, vous devez englober le param�tre h�te avec des crochets, par exemple :
jdbc:postgresql://[::1]:5740/accounting
Le num�ro de port sur lequel le serveur est en �coute. Par d�faut, il s'agit du num�ro de port standard de PostgreSQL (5432).
Le nom de la base de donn�es.
Pour vous connecter, vous avez besoin d'une instance de
Connection
provenant de JDBC.
Pour cela, vous utilisez la m�thode
DriverManager.getConnection()
:
Connection db = DriverManager.getConnection(url, username, password);
Pour fermer la connexion de la base de donn�es, appelez simplement la
m�thode close()
pour la
Connection
:
db.close();
Pr�c�dent | Sommaire | Suivant |
Interface JDBC | Niveau sup�rieur | Lancer une requ�te et traiter les r�sultats |