Utilisation d'une connexion
Les sections suivantes proposent des exemples des différents modes de connexion à une base de données SQL Server à l’aide de la classe SQLServerConnection du Pilote Microsoft JDBC pour SQL Server.
Notes
Si vous rencontrez des problèmes de connexion à SQL Server par le biais du pilote JDBC, consultez Résolution des problèmes de connectivité pour obtenir des suggestions de solutions.
Création d'une connexion via la classe DriverManager
La façon la plus simple de créer une connexion à une base de données SQL Server consiste à charger le pilote JDBC et à appeler la méthode getConnection de la classe DriverManager, comme suit :
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"
Connection con = DriverManager.getConnection(connectionUrl);
Cette technique crée une connexion de base de données via le premier pilote disponible dans la liste des pilotes capables de se connecter avec succès à l'URL donnée.
Notes
Lors de l’utilisation de la bibliothèque de classes sqljdbc4.jar, les applications n’ont pas besoin d’inscrire ni de charger explicitement le pilote à l’aide de la méthode Class.forName. Lorsque la méthode getConnection de la classe DriverManager est appelée, un pilote correspondant est localisé parmi l’ensemble des pilotes JDBC inscrits. Pour plus d'informations, consultez Utilisation du pilote JDBC.
Création d'une connexion via la classe SQLServerDriver
Si vous devez spécifier un pilote en particulier dans la liste des pilotes pour DriverManager, vous pouvez créer une connexion de base de données à l’aide de la méthode connect de la classe SQLServerDriver, comme suit :
Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"
Connection con = d.connect(connectionUrl, new Properties());
Création d'une connexion via la classe SQLServerDataSource
Si vous devez établir une connexion à l’aide de la classe SQLServerDataSource, vous pouvez utiliser les différentes méthodes setter de la classe avant d’appeler la méthode getConnection, comme suit :
SQLServerDataSource ds = new SQLServerDataSource();
ds.setUser("MyUserName");
ds.setPassword("*****");
ds.setServerName("localhost");
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");
Connection con = ds.getConnection();
Création d'une connexion visant une source de données spécifique
Si vous devez créer une connexion de base de données qui vise une source de données spécifique, plusieurs approches s'offrent à vous. Chacune d'elles dépend des propriétés définies à l'aide de l'URL de connexion.
Pour établir une connexion à l'instance par défaut sur un serveur distant, utilisez l’exemple qui suit :
String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"
Pour établir une connexion à un port spécifique sur un serveur, utilisez l’exemple qui suit :
String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"
Pour établir une connexion à une instance nommée sur un serveur, utilisez l’exemple qui suit :
String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"
Pour établir une connexion à une base de données spécifique sur un serveur, utilisez l’exemple qui suit :
String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"
Pour plus d'exemples d'URL de connexion plus, consultez Création de l'URL de connexion.
Création d'une connexion avec un délai de connexion personnalisé
Si vous devez vous adapter à la charge du serveur ou au trafic réseau, vous pouvez établir une connexion ayant une valeur de délai de connexion spécifique, exprimée en secondes, comme l’exemple qui suit :
String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"
Création d'une connexion avec une identité au niveau de l'application
Si vous devez utiliser la journalisation et la définition de profils, vous devez identifier votre connexion comme provenant d'une application spécifique, comme l’exemple qui suit :
String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"
Fermeture d'une connexion
Vous pouvez explicitement fermer une connexion de base de données en appelant la méthode close de la classe SQLServerConnection, comme suit :
con.close();
Cela libère les ressources de base de données utilisées par l’objet SQLServerConnection ou retourne la connexion au regroupement de connexions dans les scénarios regroupés.
Notes
L’appel de la méthode close entraîne également l’annulation des transactions en attente.