Delen via


Functieafhankelijkheden van het Microsoft JDBC-stuurprogramma voor SQL Server

JDBC-stuurprogramma downloaden

In dit artikel vindt u bibliotheken waarvoor het Microsoft JDBC-stuurprogramma voor SQL Server afhankelijk is. Het project heeft de volgende afhankelijkheden:

Compilatietijd

  • com.azure:azure-security-keyvault-keys: Microsoft Azure-clientbibliotheek voor KeyVault-sleutels voor JDBC-stuurprogrammaversie 9.2 en hoger of com.microsoft.azure:azure-keyvault: Microsoft Azure SDK voor Key Vault voor JDBC-stuurprogrammaversie 8.4 en lager voor de functie Always Encrypted Azure Key Vault. (optioneel)
  • com.azure:azure-identity: Microsoft Azure Clientbibliotheek voor Identiteit voor JDBC-driver versie 9.2 en hoger of com.microsoft.azure:adal4j: Microsoft Entra-authenticatiebibliotheek voor JDBC-driver versie 8.4 en lager voor Microsoft Entra-authenticatiefuncties en Azure Key Vault-functie. (optioneel)
  • com.microsoft.azure:msal4j: Microsoft Authentication Library (MSAL) voor Java. (optioneel)
  • org.antlr:antlr4-runtime: ANTLR 4 Runtime voor useFmtOnly-functie. (optioneel)
  • org.osgi:org.osgi.core: OSGi Core-bibliotheek voor osGi Framework-ondersteuning.
  • org.osgi:org.osgi.service.jdbc: OSGi Companion Code for JDBC.
  • com.google.code.gson: JSON-parser voor Always Encrypted met de functie beveiligde enclaves. (optioneel)
  • org.bouncycastle.bcprov-jdk18on: Bouncy Castle Provider voor de Always Encrypted met de functie voor beveiligde enclaves, alleen voor JAVA 8. (optioneel)

Uitvoeringstijd

Projecten waarvoor een van de voorgaande functies is vereist, moeten expliciet de respectieve afhankelijkheden in hun POM-bestand declareren die overeenkomen met de afhankelijkheden van de versie van het gebruikte stuurprogramma.

Bijvoorbeeld: Als u de Microsoft Entra-verificatiefunctie gebruikt met JDBC-stuurprogrammaversie 10.2 en hoger, moet u de azure-identity afhankelijkheid in uw project POM-bestand declareren. Zie het volgende codefragment:

<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>

Bijvoorbeeld: Als u de Microsoft Entra-verificatiefunctie gebruikt met JDBC-stuurprogrammaversie 8.4 en hieronder, moet u de adal4j en client-runtimes afhankelijkheden in uw project POM-bestand declareren. Zie het volgende codefragment:

<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>

Bijvoorbeeld: Als u de Azure Key Vault-functie gebruikt met JDBC-stuurprogrammaversie 10.2 en hoger, moet u de azure-security-keyvault-keys en azure-identity afhankelijkheden in uw project POM-bestand declareren. Zie het volgende codefragment:

<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>

Bijvoorbeeld: Als u de Azure Key Vault-functie gebruikt met JDBC-stuurprogrammaversie 8.4 en lager, moet u de azure-keyvault, adal4jen client-runtime afhankelijkheden in uw project POM-bestand declareren. Zie het volgende codefragment:

<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>

Notitie

Zorg ervoor dat u de versie van het POM-bestand gebruikt dat wordt geleverd met de versie van het JDBC-stuurprogramma dat u gebruikt. De afhankelijkheden en versies zijn mogelijk gewijzigd.

Als u Maven gebruikt om uw project te bouwen of te testen, downloadt Maven automatisch afhankelijke bibliotheken in het POM-bestand samen met hun transitieve bibliotheken. U kunt ook de Maven Dependency Plugin gebruiken om alle projectafhankelijkheden naar een gewenste locatie te downloaden. Als u Maven niet gebruikt, moet u afhankelijkheden en transitieve afhankelijkheden handmatig downloaden om ervoor te zorgen dat u alle juiste versies van elke bibliotheek hebt. Nadat u de vereiste afhankelijke bibliotheken hebt gedownload, voegt u deze toe aan uw projectklassepad om uw toepassing uit te voeren.

Afhankelijkheidsvereisten voor het JDBC-stuurprogramma

Werken met de Azure Key Vault-provider

  • JDBC-stuurprogrammaversie 12.10.0: Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.9.2) en Azure-identity (versie 1.15.3) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 12.8.0— Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.7.3) en Azure-identity (versie 1.12.2) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 12.6.0— Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.7.3) en Azure-identity (versie 1.11.1) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 12.4.0— Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.6.1) en Azure-identity (versie 1.9.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 12.2.0: Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.5.3) en Azure-identity (versie 1.7.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 11.2.0: Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.4.1) en Azure-identity (versie 1.5.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 10.2.0— Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.3.6) en Azure-identity (versie 1.4.3) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 9.4.1: Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.2.8) en Azure-identity (versie 1.3.3) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 9.2.1: Afhankelijkheidsversies: Azure-security-keyvault-keys (versie 4.2.1) en Azure-identity (versie 1.1.3) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 8.4.1— Afhankelijkheidsversies: Azure-Keyvault (versie 1.2.4), Adal4j (versie 1.6.5), Client-Runtime-for-AutoRest (versie 1.7.4) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 8.2.2— Afhankelijkheidsversies: Azure-Keyvault (versie 1.2.2), Adal4j (versie 1.6.4), Client-Runtime-for-AutoRest (versie 1.7.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 7.4.1— Afhankelijkheidsversies: Azure-Keyvault (versie 1.2.1), Adal4j (versie 1.6.4), Client-Runtime-for-AutoRest (versie 1.6.10) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 7.2.2— Afhankelijkheidsversies: Azure-Keyvault (versie 1.2.0), Azure-Keyvault-Webkey (versie 1.2.0), Adal4j (versie 1.6.3), Client-Runtime-for-AutoRest (1.6.5) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 7.0.0— Afhankelijkheidsversies: Azure-Keyvault (versie 1.0.0), Adal4j (versie 1.6.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 6.4.0— Afhankelijkheidsversies: Azure-Keyvault (versie 1.0.0), Adal4j (versie 1.4.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 6.2.2— Afhankelijkheidsversies: Azure-Keyvault (versie 1.0.0), Adal4j (versie 1.4.0) en hun afhankelijkheden (voorbeeldtoepassing)
  • JDBC-stuurprogrammaversie 6.0.0— Afhankelijkheidsversies: Azure-Keyvault (versie 0.9.7), Adal4j (versie 1.3.0) en hun afhankelijkheden (voorbeeldtoepassing)

Notitie

Met 6.2.2- en 6.4.0-stuurprogrammaversies is de afhankelijkheid azure-keyvault-java bijgewerkt naar versie 1.0.0. De nieuwe versie is echter niet compatibel met de vorige versie (0.9.7) en breekt de bestaande implementatie in het stuurprogramma af. De nieuwe implementatie in het stuurprogramma vereiste API-wijzigingen, waardoor clientprogramma's die gebruikmaken van de Azure Key Vault-provider, worden onderbreekt.

Dit probleem is opgelost met de nieuwste stuurprogrammaversie(s) (7.0.0 en hoger). De verwijderde constructor die het callback-mechanisme voor verificatie heeft gebruikt, wordt weer toegevoegd aan de Azure Key Vault-provider voor achterwaartse compatibiliteit.

Werken met Microsoft Entra-verificatie

  • JDBC-stuurprogrammaversie 12.10.0— Afhankelijkheidsversies: Azure-identity (versie 1.15.3) en de bijbehorende afhankelijkheden.
  • JDBC-stuurprogrammaversie 12.8.0— Afhankelijkheidsversies: Azure-identity (versie 1.12.2), Msal4j (versie 1.15.1) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 12.6.0— Afhankelijkheidsversies: Azure-identity (versie 1.11.1), Msal4j (versie 1.14.1) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 12.4.0— Afhankelijkheidsversies: Azure-identity (versie 1.9.0), Msal4j (versie 1.13.8) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 12.2.0— Afhankelijkheidsversies: Azure-identity (versie 1.7.0), Msal4j (versie 1.13.3) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 11.2.0: Afhankelijkheidsversies: Azure-identity (versie 1.5.0) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 10.2.0— Afhankelijkheidsversies: Azure-identity (versie 1.4.3) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 9.4.1: Afhankelijkheidsversies: Azure-identiteit (versie 1.3.3) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 9.2.1: Afhankelijkheidsversies: Azure-identiteit (versie 1.1.3) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 8.4.1— Afhankelijkheidsversies: Adal4j (versie 1.6.5), Client-Runtime-for-AutoRest (1.7.4) en hun afhankelijkheden.
  • JDBC-stuurprogrammaversie 8.2.2— Afhankelijkheidsversies: Adal4j (versie 1.6.4), Client-Runtime-for-AutoRest (1.7.0) en hun afhankelijkheden. In deze versie van het stuurprogramma is de naam van sqljdbc_auth.dll gewijzigd in mssql-jdbc_auth-\<version>-\<arch>.dll.
  • JDBC-stuurprogrammaversie 7.4.1— Afhankelijkheidsversies: Adal4j (versie 1.6.4), Client-Runtime-for-AutoRest (1.6.10) en de bijbehorende afhankelijkheden
  • JDBC-stuurprogrammaversie 7.2.2— Afhankelijkheidsversies: Adal4j (versie 1.6.3), Client-Runtime voor AutoRest (1.6.5) en hun afhankelijkheden
  • JDBC-stuurprogrammaversie 7.0.0— Afhankelijkheidsversies: Adal4j (versie 1.6.0) en de bijbehorende afhankelijkheden
  • JDBC-stuurprogrammaversie 6.4.0— Afhankelijkheidsversies: Adal4j (versie 1.4.0) en de bijbehorende afhankelijkheden
  • JDBC-stuurprogrammaversie 6.2.2— Afhankelijkheidsversies: Adal4j (versie 1.4.0) en de bijbehorende afhankelijkheden
  • JDBC-stuurprogrammaversie 6.0.0— Afhankelijkheidsversies: Adal4j (versie 1.3.0) en de bijbehorende afhankelijkheden. In deze versie van het stuurprogramma kunt u verbinding maken met behulp van ActiveDirectoryIntegrated-verificatiemodus, alleen op een Windows-besturingssysteem en met behulp van sqljdbc_auth.dll en Active Directory Authentication Library voor SQL Server (ADALSQL.DLL).

Vanaf stuurprogrammaversie 6.4.0 hoeven toepassingen niet per se ADALSQL.DLL te gebruiken op Windows-besturingssystemen. Voor niet-Windows-besturingssystemenvereist het stuurprogramma een Kerberos-ticket om te werken met ActiveDirectoryIntegrated Authentication. Zie Kerberos-ticket instellen op Windows, Linux en macOSvoor meer informatie over het maken van verbinding met Active Directory met behulp van Kerberos.

Voor Windows-besturingssystemenzoekt het stuurprogramma standaard naar sqljdbc_auth.dll en vereist geen Kerberos-ticketinstallatie of afhankelijkheden van de Azure-bibliotheek. Als sqljdbc_auth.dll niet beschikbaar is, zoekt het stuurprogramma naar het Kerberos-ticket om te verifiëren bij Active Directory als op andere besturingssystemen.

Vanaf stuurprogrammaversie 8.2.2 wordt de naam van sqljdbc_auth.dll gewijzigd in mssql-jdbc_auth-\<version>-\<arch>.dll. Bijvoorbeeld mssql-jdbc_auth-8.2.2.x64.dll.

Naast de mssql-jdbc_auth-<versie>-<arch>.dll (beschikbaar in het JDBC-stuurprogrammapakket), moet de Azure Active Directory Authentication Library (ADAL.DLL) ook worden geïnstalleerd voor geïntegreerde Active Directory-verificatie. Microsoft Azure Active Directory Authentication Library kan worden geïnstalleerd vanuit Microsoft ODBC-stuurprogramma voor SQL Server of Microsoft OLE DB-stuurprogramma voor SQL Server. Het JDBC-stuurprogramma ondersteunt alleen versie 1.0.2028.318 en hoger voor ADAL.DLL.

U kunt een voorbeeldtoepassing krijgen die deze functie gebruikt.

Zie ook

GitHub-opslagplaats voor JDBC-stuurprogramma's
JDBC-stuurprogramma-API