Qu’est-ce qu’une chaîne de connexion JDBC ?
Une chaîne de connexion JDBC est une URL qui indique l’hôte de la base de données, le port et les autres paramètres nécessaires pour se connecter à une base de données SQL Server. Cette chaîne fournit au driver JDBC toutes les informations dont il a besoin pour établir la connexion.
Structure de base d’une chaîne de connexion JDBC pour SQL Server
Le format général d’une chaîne de connexion JDBC pour SQL Server ressemble à ceci :
jdbc:sqlserver://[serverName[\instanceName][:portNumber]];[property=value[;property=value]]
- jdbc:sqlserver:// - Le protocole utilisé pour une connexion JDBC.
- serverName - Le nom ou l’adresse IP du serveur qui héberge l’instance SQL Server.
- instanceName (facultatif) - L’instance SQL Server précise.
- portNumber (facultatif) - Le port auquel se connecter. Par défaut : 1433.
- property=value - Des propriétés supplémentaires pour configurer la connexion (nom de la base de données, informations d’authentification, etc.).
Si tu travailles avec PostgreSQL, jette un œil à notre générateur d’URL JDBC PostgreSQL pour construire facilement tes chaînes de connexion.
Exemple : chaîne de connexion JDBC minimale
String connectionUrl = "jdbc:sqlserver://localhost:1433;";
C’est la forme la plus simple d’une chaîne de connexion, où :
- Le serveur de base de données est hébergé en local.
- Le port est le port SQL Server par défaut, 1433.
Exemple : chaîne de connexion JDBC complète
Pour une configuration plus détaillée, imagine que tu veux te connecter à une instance nommée sur un serveur distant, avec des identifiants et une base de données précis :
String connectionUrl = "jdbc:sqlserver://192.168.1.100\\SQLExpress:1433;"
+ "databaseName=MyDatabase;"
+ "user=myUsername;"
+ "password=myPassword;";
Voici ce que signifie chaque partie :
-
192.168.1.100\\SQLExpress:1433- Se connecter à l’instanceSQLExpresssur le serveur192.168.1.100via le port1433. -
databaseName=MyDatabase- Se connecter à la base de données nomméeMyDatabase. -
user=myUsernameetpassword=myPassword- Ce sont les identifiants utilisés pour l’authentification.
Exemple avec l’authentification Windows intégrée
Si ton SQL Server est configuré pour utiliser l’authentification Windows, tu peux utiliser le paramètre integratedSecurity :
String connectionUrl = "jdbc:sqlserver://localhost:1433;"
+ "databaseName=MyDatabase;"
+ "integratedSecurity=true;";
Cela indique au driver d’utiliser les identifiants Windows de l’utilisateur actuellement connecté pour l’authentification.
Se connecter avec le driver JDBC
Pour utiliser la chaîne de connexion dans une application Java, tu dois charger le driver JDBC SQL Server et établir une connexion. Voici un exemple complet de programme Java qui se connecte à SQL Server via JDBC :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SQLServerConnection {
public static void main(String[] args) {
String connectionUrl = "jdbc:sqlserver://localhost:1433;"
+ "databaseName=MyDatabase;"
+ "user=myUsername;"
+ "password=myPassword;";
try {
// Load the SQL Server JDBC driver
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// Establish the connection
Connection con = DriverManager.getConnection(connectionUrl);
// Create and execute a basic SQL query
String SQL = "SELECT * FROM Customers";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(SQL);
// Iterate through the result set and print the data
while (rs.next()) {
System.out.println(rs.getString("CustomerID") + " - " + rs.getString("CustomerName"));
}
// Close the resources
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Résultat attendu :
Si tu as une table Customers dans ta base de données, l’exécution du code ci-dessus affichera les ID et les noms des clients comme ceci :
1 - John Doe
2 - Jane Smith
3 - Alice Johnson
Paramètres courants de la chaîne de connexion
| Propriété | Description |
|---|---|
| databaseName | Nom de la base de données à laquelle se connecter. |
| user | Nom d’utilisateur pour la connexion SQL Server. |
| password | Mot de passe pour la connexion SQL Server. |
| integratedSecurity | Si true, active l’authentification Windows. |
| encrypt | Si true, force le chiffrement de la connexion. |
| trustServerCertificate | Si true, fait confiance au certificat SQL Server sans le valider. |
Résoudre les problèmes de connexion
URL de connexion invalide
Si tu rencontres une erreur comme :
com.microsoft.sqlserver.jdbc.SQLServerException: The connection string contains a badly formed name or value.
Vérifie que la chaîne de connexion respecte le bon format et qu’aucun point-virgule (;) ni signe égal (=) n’est mal placé.
Le port n’écoute pas
Si tu obtiens une erreur indiquant que la connexion a été refusée, vérifie que :
- L’instance SQL Server est bien démarrée.
- Le port indiqué est ouvert et à l’écoute.
Tu peux vérifier sur quel port SQL Server écoute en exécutant cette requête dans SQL Server :
SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections
WHERE local_net_address IS NOT NULL;
Driver introuvable
Si tu vois une erreur comme :
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
Assure-toi d’avoir ajouté le driver JDBC SQL Server au classpath de ton projet. Tu peux télécharger le driver sur le site de Microsoft.
Conclusion
Configurer une connexion JDBC à SQL Server est simple une fois que tu comprends la structure de la chaîne de connexion. Ce tutoriel a couvert l’essentiel : les chaînes de connexion basiques et avancées, l’intégration de la chaîne de connexion dans une application Java, et quelques astuces de dépannage courantes.
Beekeeper Studio est une interface de base de données gratuite & open source
Le meilleur outil de requêtes & éditeur SQL que j’aie jamais utilisé. Il m’offre tout ce dont j’ai besoin pour gérer ma base de données. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio est rapide, intuitif et facile à utiliser. Beekeeper prend en charge plein de bases de données et fonctionne parfaitement sous Windows, Mac et Linux.
Ce que les utilisateurs disent de Beekeeper Studio
« Beekeeper Studio a complètement remplacé mon ancien workflow SQL. C’est rapide, intuitif, et ça rend le travail sur les bases de données agréable à nouveau. »
« J’ai essayé beaucoup d’interfaces de bases de données, mais Beekeeper trouve l’équilibre parfait entre fonctionnalités et simplicité. Ça marche, tout simplement. »