Partager via


Utilisation du pilote JDBC

Cette section fournit des instructions de démarrage rapide pour la création d'une connexion simple à une base de données SQL Server à l'aide du pilote JDBC Microsoft SQL Server. Avant de vous connecter à une base de données SQL Server, il convient d'installer SQL Server sur votre ordinateur local ou un serveur ; par ailleurs, le pilote JDBC doit également être installé sur votre ordinateur local.

Choix du fichier JAR approprié

Le pilote JDBC Microsoft SQL Server version 2.0 fournit les fichiers bibliothèques de classes sqljdbc.jar et sqljdbc4.jar, à utiliser en fonction de vos paramètres JRE (Java Runtime Environment) par défaut. Pour plus d'informations sur le fichier JAR à choisir, consultez Configuration requise pour le pilote JDBC.

Définition de Classpath

Le pilote JDBC ne fait pas partie du Kit de développement logiciel (SDK) Java. Si vous voulez l'utiliser, vous devez définir l'instruction classpath afin d'inclure le fichier sqljdbc.jar ou sqljdbc4.jar. Si l'instruction classpath n'a pas d'entrée pour sqljdbc.jar ou sqljdbc4.jar, votre application lève l'exception usuelle « Classe introuvable ».

Les fichiers sqljdbc.jar et sqljdbc4.jar sont installés à l'emplacement suivant :

<répertoire d'installation>\sqljdbc_<version>\<langue>\sqljdbc.jar

<répertoire d'installation>\sqljdbc_<version>\<langue>\sqljdbc4.jar

Voici un exemple de l'instruction CLASSPATH utilisée pour une application Windows :

CLASSPATH =.;C:\Program Files\Microsoft SQL Server JDBC Driver\sqljdbc_2.0\enu\sqljdbc.jar

Voici un exemple de l'instruction CLASSPATH utilisée pour une application Unix/Linux :

CLASSPATH =.:/home/usr1/mssqlserverjdbc/Driver/sqljdbc_2.0/enu/sqljdbc.jar

Vous devez vous assurer que l'instruction CLASSPATH contient uniquement un pilote JDBC Microsoft SQL Server, tel que sqljdbc.jar ou sqljdbc4.jar.

RemarqueRemarque :

Sous Windows, les noms de répertoires d'une longueur supérieure à 8,3 ou les noms de dossiers contenant des espaces peuvent générer des problèmes avec les instructions classpath. Si vous pensez être confronté à ce type de problème, vous devez placer temporairement le fichier sqljdbc.jar ou sqljdbc4.jar dans un répertoire portant un nom simple, tel que C:\Temp, modifier l'instruction classpath, puis vérifier si le problème est résolu.

Applications exécutées directement à l'invite de commandes

L'instruction classpath est configurée dans le système d'exploitation. Ajoutez sqljdbc.jar ou sqljdbc4.jar à l'instruction classpath du système. Vous pouvez également spécifier l'instruction classpath dans la ligne de commande Java qui exécute l'application à l'aide de l'option java -classpath.

Applications qui s'exécutent dans un IDE

Chaque fournisseur d'IDE fournit une méthode différente pour définir l'instruction classpath dans son IDE. La seule définition de l'instruction classpath dans le système d'exploitation ne fonctionne pas. Vous devez ajouter sqljdbc.jar ou sqljdbc4.jar à l'instruction classpath de l'IDE.

Servlets et JSP

Les servlets et les JSP sont exécutés dans un moteur de servlet/JSP tel que Tomcat. L'instruction classpath doit être définie conformément aux spécifications de la documentation relative au moteur de servlet/JSP. La seule définition de l'instruction classpath dans le système d'exploitation ne fonctionne pas. Certains moteurs de servlet/JSP affichent des écrans de configuration permettant de définir l'instruction classpath du moteur. Dans ce cas, vous devez ajouter le fichier JAR du pilote JDBC approprié à l'instruction classpath existante du moteur, puis redémarrer le moteur. Dans d'autres cas, vous pouvez déployer le pilote en copiant sqljdbc.jar ou sqljdbc4.jar dans un répertoire spécifique, tel que lib, pendant l'installation du moteur. Vous pouvez également spécifier l'instruction classpath du pilote de moteur dans un fichier de configuration spécifique au moteur.

EJB (Enterprise Java Beans)

Les EJB (Enterprise Java Beans) sont exécutés dans un conteneur EJB. Les conteneurs EJB proviennent de différents fournisseurs. Les applets Java s'exécutent dans un navigateur mais sont téléchargés à partir d'un serveur Web. Copiez sqljdbc.jar ou sqljdbc4.jar à la racine du serveur Web et spécifiez le nom du fichier JAR sous l'onglet d'archive HTML de l'applet, par exemple <applet ... archive=sqljdbc.jar>.

Création d'une connexion simple à une base de données

À l'aide de la bibliothèque de classes sqljdbc.jar, les applications doivent d'abord inscrire le pilote comme suit :

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Une fois le pilote chargé, vous pouvez établir une connexion à l'aide d'une URL de connexion et de la méthode getConnection de la classe DriverManager :

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
   "databaseName=AdventureWorks;user=MyUserName;password=*****;";
Connection con = DriverManager.getConnection(connectionUrl);

Dans l'API JDBC 4.0, la méthode DriverManager.getConnection est améliorée pour charger automatiquement les pilotes JDBC. Par conséquent, les applications n'ont pas besoin d'appeler la méthode Class.forName pour inscrire ou charger le pilote lors de l'utilisation de la bibliothèque de classes sqljdbc4.jar.

Lorsque la méthode getConnection de la classe DriverManager est appelée, un pilote approprié est localisé parmi l'ensemble des pilotes JDBC inscrits. Le fichier sqljdbc4.jar comprend le fichier « META-INF/services/java.sql.Driver », qui contient com.microsoft.sqlserver.jdbc.SQLServerDriver en tant que pilote inscrit. Les applications existantes, qui chargent actuellement les pilotes à l'aide de la méthode Class.forName, continueront de fonctionner sans modification.

RemarqueRemarque :

La bibliothèque de classes sqljdbc4.jar requiert la version 6.0 de l'environnement d'exécution Java (JRE, Java Runtime Environment) ou une version ultérieure.

Pour plus d'informations sur la connexion à des sources de données et sur l'utilisation d'une URL de connexion, consultez Création de l'URL de connexion et Définition des propriétés de connexion.

Voir aussi

Autres ressources

Présentation du pilote JDBC