🧚 Écoute ! Beekeeper Studio est une interface de base de données rapide, moderne et open source Télécharger
23 septembre 2024 Par Matthew Rathbone

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’instance SQLExpress sur le serveur 192.168.1.100 via le port 1433.
  • databaseName=MyDatabase - Se connecter à la base de données nommée MyDatabase.
  • user=myUsername et password=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.

La version Linux de Beekeeper est 100% complète : rien de bâclé, aucun compromis sur les fonctionnalités.

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. »
— Alex K., développeur de bases de données
★★★★★
« 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. »
— Sarah M., ingénieure full stack