Dépendances de fonctionnalité de Microsoft JDBC Driver pour SQL Server

Télécharger le pilote JDBC

Cet article répertorie les versions dont dépend le pilote JDBC Microsoft pour SQL Server. Le projet comporte les dépendances suivantes :

Durée de compilation

  • com.azure:azure-security-keyvault-keys : bibliothèque de client Microsoft Azure pour clés KeyVault pour pilote JDBC version 9.2 et ultérieures ou com.microsoft.azure:azure-keyvault : SDK Microsoft Azure pour Key Vault pour pilote JDBC version 8.4 et antérieures pour la fonctionnalité Always Encrypted d’Azure Key Vault. (facultatif)
  • com.azure:azure-identity : bibliothèque de client Microsoft Azure pour Identity pour pilote JDBC version 9.2 et ultérieures ou com.microsoft.azure:adal4j : bibliothèque d’authentification Microsoft Entra pour pilote JDBC version 8.4 et antérieures pour les fonctionnalités d’authentification Microsoft Entra et la fonctionnalité Azure Key Vault. (facultatif)
  • com.microsoft.azure:msal4j : Bibliothèque d’authentification Microsoft (MSAL) pour Java. (facultatif)
  • org.antlr:antlr4-runtime: fonctionnalité ANTLR 4 Runtime pour useFmtOnly. (facultatif)
  • org.osgi:org.osgi.core: bibliothèque OSGi Core pour la prise en charge d’OSGi Framework.
  • org.osgi:org.osgi.service.jdbc : code associé OSGi pour JDBC.
  • com.google.code.gson: analyseur JSON pour la fonctionnalité Always Encrypted avec enclaves sécurisées. (facultatif)
  • org.bouncycastle.bcprov-jdk18on : fournisseur Bouncy Castle pour la fonctionnalité Always Encrypted avec enclaves sécurisées pour Java 8 uniquement. (facultatif)

En cours d’exécution

Les projets qui requièrent l’une des fonctionnalités précédentes doivent déclarer explicitement les dépendances respectives dans leur fichier POM qui correspondent aux dépendances de la version du pilote utilisé.

Par exemple : si vous utilisez la fonctionnalité d’authentification Microsoft Entra avec le pilote JDBC version 10.2 et ultérieures, vous devez déclarer la dépendance azure-identity dans le fichier POM de votre projet. Consultez l’extrait de code suivant :

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>10.2.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.4.3</version>
</dependency>

Par exemple : si vous utilisez la fonctionnalité d’authentification Microsoft Entra avec le pilote JDBC version 8.4 et antérieures, vous devez déclarer les dépendances adal4j et client-runtimes dans le fichier POM de votre projet. Consultez l’extrait de code suivant :

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>adal4j</artifactId>
    <version>1.6.5</version>
</dependency>

<dependency>
    <groupId>com.microsoft.rest</groupId>
    <artifactId>client-runtime</artifactId>
    <version>1.7.4</version>
</dependency>

Par exemple : si vous utilisez la fonctionnalité Azure Key Vault avec le pilote JDBC version 10.2 et ultérieures, vous devez déclarer les dépendances azure-security-keyvault-keys et azure-identity dans le fichier POM de votre projet. Consultez l’extrait de code suivant :

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>10.2.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.4.3</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-security-keyvault-keys</artifactId>
    <version>4.3.6</version>
</dependency>

Par exemple : si vous utilisez la fonctionnalité Azure Key Vault avec le pilote JDBC version 8.4 et antérieures, vous devez déclarer les dépendances azure-keyvault, adal4j et client-runtime dans le fichier POM de votre projet. Consultez l’extrait de code suivant :

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.0.jre11</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>adal4j</artifactId>
    <version>1.6.5</version>
</dependency>

<dependency>
    <groupId>com.microsoft.rest</groupId>
    <artifactId>client-runtime</artifactId>
    <version>1.7.4</version>
</dependency>

<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-keyvault</artifactId>
    <version>1.2.4</version>
</dependency>

Notes

Veillez à utiliser la version du fichier POM fournie avec la version du pilote JDBC que vous utilisez. Les dépendances et les versions ont peut-être changé.

Si vous utilisez Maven pour générer ou tester votre projet, Maven télécharge automatiquement les bibliothèques dépendantes dans le fichier POM avec leurs bibliothèques transitives. Vous pouvez également utiliser le plug-in de dépendance Maven pour télécharger toutes les dépendances de projet à l’emplacement souhaité. Si vous n’utilisez pas Maven, vous devez télécharger les dépendances et les dépendances transitives manuellement pour vous assurer que vous disposez de toutes les versions correctes de chaque bibliothèque. Une fois que vous avez téléchargé les bibliothèques dépendantes requises, ajoutez-les au paramètre classpath de votre projet pour exécuter votre application.

Exigences relatives à la dépendance pour le pilote JDBC

Utiliser le fournisseur Azure Key Vault

  • JDBC Driver version 12.6.0 – Versions des dépendances : Azure-security-keyvault-keys (version 4.7.3), Azure-identity (version 1.11.1) et leurs dépendances (exemple d’application)
  • JDBC Driver version 12.4.0 - Versions des dépendances : Azure-security-keyvault-keys (version 4.6.1), Azure-identity (version 1.9.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 12.2.0 - Versions des dépendances : Azure-security-keyvault-keys (version 4.5.3), Azure-identity (version 1.7.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 11.2.0 - Versions des dépendances : Azure-security-keyvault-keys (version 4.4.1), Azure-identity (version 1.5.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 10.2.0 - Versions des dépendances : Azure-security-keyvault-keys (version 4.3.6), Azure-identity (version 1.4.3) et leurs dépendances (exemple d’application)
  • JDBC Driver version 9.4.1 - Versions des dépendances : Azure-security-keyvault-keys (version 4.2.8), Azure-identity (version 1.3.3) et leurs dépendances (exemple d’application)
  • JDBC Driver version 9.2.1 - Versions des dépendances : Azure-security-keyvault-keys (version 4.2.1), Azure-identity (version 1.1.3) et leurs dépendances (exemple d’application)
  • JDBC Driver version 8.4.1 - Versions des dépendances : Azure-Keyvault (version 1.2.4), Adal4j (version 1.6.5), Client-Runtime-for-AutoRest (version 1.7.4) et leurs dépendances (exemple d’application)
  • JDBC Driver version 8.2.2 - Versions des dépendances : Azure-Keyvault (version 1.2.2), Adal4j (version 1.6.4), Client-Runtime-for-AutoRest (version 1.7.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 7.4.1 - Versions des dépendances : Azure-Keyvault (version 1.2.1), Adal4j (version 1.6.4), Client-Runtime-for-AutoRest (version 1.6.10) et leurs dépendances (exemple d’application)
  • JDBC Driver version 7.2.2 - Versions des dépendances : Azure-Keyvault (version 1.2.0), Azure-Keyvault-Webkey (version 1.2.0), Adal4j (version 1.6.3), Client-Runtime-for-AutoRest (1.6.5) et leurs dépendances (exemple d’application)
  • JDBC Driver version 7.0.0 - Versions des dépendances : Azure-Keyvault (version 1.0.0), Adal4j (version 1.6.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 6.4.0 - Versions des dépendances : Azure-Keyvault (version 1.0.0), Adal4j (version 1.4.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 6.2.2 - Versions des dépendances : Azure-Keyvault (version 1.0.0), Adal4j (version 1.4.0) et leurs dépendances (exemple d’application)
  • JDBC Driver version 6.0.0 - Versions des dépendances : Azure-Keyvault (version 0.9.7), Adal4j (version 1.3.0) et leurs dépendances (exemple d’application)

Notes

Avec les versions de pilote 6.2.2 et 6.4.0, la dépendance azure-keyvault-java avait été mise à jour vers la version 1.0.0. Toutefois, la nouvelle version n’était pas compatible avec la version précédente (0.9.7) et arrête l’implémentation existante dans le pilote. La nouvelle implémentation dans le pilote a requis des modifications de l’API qui, à son tour, arrête les programmes clients qui utilisent le fournisseur Azure Key Vault.

Ce problème est résolu avec les dernières versions du pilote (7.0.0 et versions ultérieures). Le constructeur supprimé qui a utilisé le mécanisme de rappel d’authentification est à nouveau ajouté au fournisseur Azure Key Vault Provider pour garantir la compatibilité descendante.

Travail avec l’authentification Microsoft Entra

  • Pilote JDBC version 12.6.0 – Versions des dépendances : Azure-identity (version 1.11.1), Msal4j (version 1.14.1), et leurs dépendances.
  • Pilote JDBC version 12.4.0 – Versions des dépendances : Azure-identity (version 1.9.0), Msal4j (version 1.13.8), et leurs dépendances.
  • Pilote JDBC version 12.2.0 – Versions des dépendances : Azure-identity (version 1.7.0), Msal4j (version 1.13.3), et leurs dépendances.
  • Pilote JDBC version 11.2.0 – Versions des dépendances : Azure-identity (version 1.5.0) et ses dépendances.
  • Pilote JDBC version 10.2.0 – Versions des dépendances : Azure-identity (version 1.4.3) et ses dépendances.
  • Pilote JDBC version 9.4.1 – Versions des dépendances : Azure-identity (version 1.3.3) et ses dépendances.
  • Pilote JDBC version 9.2.1 – Versions des dépendances : Azure-identity (version 1.1.3) et ses dépendances.
  • JDBC Driver version 8.4.1 - Versions des dépendances : Adal4j (version 1.6.5), Client-Runtime-for-AutoRest (version 1.7.4) et leurs dépendances.
  • JDBC Driver version 8.2.2 - Versions des dépendances : Adal4j (version 1.6.4), Client-Runtime-for-AutoRest (version 1.7.0) et leurs dépendances. Dans cette version du pilote, sqljdbc_auth.dll a été renommée en mssql-jdbc_auth-\<version>-\<arch>.dll.
  • JDBC Driver version 7.4.1 - Versions des dépendances : Adal4j (version 1.6.4), Client-Runtime-for-AutoRest (version 1.6.10) et leurs dépendances.
  • JDBC Driver version 7.2.2 - Versions des dépendances : Adal4j (version 1.6.3), Client-Runtime-for-AutoRest (version 1.6.5) et leurs dépendances.
  • JDBC Driver version 7.0.0 - Versions des dépendances : Adal4j (version 1.6.0) et ses dépendances.
  • JDBC Driver version 6.4.0 - Versions des dépendances : Adal4j (version 1.4.0) et ses dépendances.
  • JDBC Driver version 6.2.2 - Versions des dépendances : Adal4j (version 1.4.0) et ses dépendances.
  • JDBC Driver version 6.0.0 - Versions des dépendances : Adal4j (version 1.3.0) et ses dépendances. Dans cette version du pilote, vous ne pouvez vous connecter à l’aide du mode d’authentification ActiveDirectoryIntegrated que sur un système d’exploitation Windows et à l’aide de sqljdbc_auth.dll et de la Bibliothèque d’authentification Active Directory pour SQL Server (ADALSQL.DLL).

À partir de la version 6.4.0 du pilote, les applications ne requièrent pas nécessairement l’utilisation d’ADALSQL.DLL sur les systèmes d’exploitation Windows. Pour les systèmes d’exploitation autres que Windows, le pilote a besoin d’un ticket Kerberos pour utiliser l’authentification ActiveDirectoryIntegrated. Pour plus d’informations sur la façon de se connecter à Active Directory à l’aide de Kerberos, consultez Définir un ticket Kerberos sur Windows, Linux et macOS.

Pour les systèmes d’exploitation Windows, le pilote recherche le fichier sqljdbc_auth.dll par défaut et ne requiert pas l’installation d’un ticket Kerberos ou de dépendances de la bibliothèque Azure. Si sqljdbc_auth.dll n’est pas disponible, le pilote recherche le ticket Kerberos pour l’authentification auprès d’Active Directory comme sur d’autres systèmes d’exploitation.

À partir du pilote version 8.2.2, sqljdbc_auth.dll est renommé en mssql-jdbc_auth-\<version>-\<arch>.dll. Par exemple : mssql-jdbc_auth-8.2.2.x64.dll.

En plus de mssql-jdbc_auth-<version>-<arch>.dll (disponible dans le package de pilotes JDBC), la bibliothèque d’authentification Azure Active Directory (ADAL.DLL) doit également être installée pour l’authentification intégrée Active Directory. La bibliothèque d’authentification Microsoft Azure Active Directory peut être installée à partir de Microsoft ODBC Driver for SQL Server ou de Microsoft OLE DB Driver for SQL Server. Le pilote JDBC ne prend en charge que les versions 1.0.2028.318 et ultérieures d’ADAL.DLL.

Vous pouvez obtenir un exemple d’application qui utilise cette fonctionnalité.

Voir aussi

Référentiel GitHub du pilote JDBC
Informations de référence sur l’API du pilote JDBC