Udostępnij przez


Zależności funkcji sterownika JDBC firmy Microsoft dla programu SQL Server

pobierz sterownik JDBC

W tym artykule wymieniono biblioteki, od których zależy sterownik JDBC firmy Microsoft dla programu SQL Server. Projekt ma następujące zależności:

Czas kompilacji

  • com.azure:azure-security-keyvault-keys: Biblioteka klienta Microsoft Azure KeyVault Keys dla sterownika JDBC w wersji 9.2 lub nowszej lub com.microsoft.azure:azure-keyvault: Microsoft Azure SDK dla Key Vault dla sterownika JDBC w wersji 8.4 i starszej dla funkcji Always Encrypted Azure Key Vault. (opcjonalnie)
  • com.azure:azure-identity: Biblioteka klienta tożsamości platformy Microsoft Azure dla sterownika JDBC w wersji 9.2 lub nowszej lub com.microsoft.azure:adal4j: Biblioteka Microsoft Entra Authentication Library dla sterownika JDBC w wersji 8.4 lub wcześniejszej dla funkcji uwierzytelniających Microsoft Entra i funkcji Azure Key Vault. (opcjonalnie)
  • com.microsoft.azure:msal4j: Biblioteka Microsoft Authentication Library (MSAL) dla języka Java. (opcjonalnie)
  • org.antlr:antlr4-runtime: Środowisko uruchomieniowe ANTLR 4 dla funkcji UseFmtOnly. (opcjonalnie)
  • org.osgi:org.osgi.core: Biblioteka OSGi Core dla obsługi platformy OSGi Framework.
  • org.osgi:org.osgi.service.jdbc: Kod towarzyszący OSGi dla JDBC.
  • com.google.code.gson: analizator składni JSON dla funkcji Always Encrypted z bezpiecznymi enklawami. (opcjonalnie)
  • org.bouncycastle.bcprov-jdk18on: Dostawca Bouncy Castle dla funkcji Always Encrypted z bezpiecznymi enklawami tylko dla środowiska Java 8. (opcjonalnie)

Czas procesu

Projekty, które wymagają dowolnej z powyższych funkcji, muszą jawnie zadeklarować odpowiednie zależności w pliku POM, które są zgodne z zależnościami używanej wersji sterownika.

Na przykład: Jeśli używasz funkcji uwierzytelniania Entra firmy Microsoft ze sterownikiem JDBC w wersji 10.2 lub nowszej, musisz zadeklarować azure-identity zależność w pliku POM projektu. Zobacz następujący fragment kodu:

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

Na przykład: Jeśli używasz funkcji uwierzytelniania Entra firmy Microsoft ze sterownikiem JDBC w wersji 8.4 lub poniżej, musisz zadeklarować zależności adal4j i client-runtimes w pliku POM projektu. Zobacz następujący fragment kodu:

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

Na przykład: Jeśli używasz funkcji Azure Key Vault z wersją 10.2 lub nowszą sterownika JDBC, musisz zadeklarować azure-security-keyvault-keys i azure-identity zależności w pliku POM projektu. Zobacz następujący fragment kodu:

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

Na przykład: Jeśli używasz funkcji usługi Azure Key Vault ze sterownikiem JDBC w wersji 8.4 lub wcześniejszej, musisz zadeklarować azure-keyvault, adal4j, i client-runtime zależności w pliku POM projektu. Zobacz następujący fragment kodu:

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

Uwaga / Notatka

Upewnij się, że używasz wersji pliku POM dostarczanej z wersją używanego sterownika JDBC. Zależności i wersje mogły ulec zmianie.

Jeśli używasz narzędzia Maven do kompilowania lub testowania projektu, narzędzie Maven automatycznie pobiera biblioteki zależne w pliku POM wraz z ich bibliotekami przechodnimi. Możesz również użyć pluginu Zależności Maven, aby pobrać wszystkie zależności projektu do żądanej lokalizacji. Jeśli nie używasz narzędzia Maven, musisz ręcznie pobrać zależności i zależności przechodnie, aby upewnić się, że masz wszystkie poprawne wersje każdej biblioteki. Po pobraniu wymaganych bibliotek zależnych dodaj je do ścieżki classpath projektu, aby uruchomić aplikację.

Wymagania dotyczące zależności sterownika JDBC

Praca z dostawcą usługi Azure Key Vault

  • Sterownik JDBC w wersji 12.10.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.9.2) i Azure-identity (wersja 1.15.3) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 12.8.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.7.3) i Azure-identity (wersja 1.12.2) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 12.6.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.7.3) i Azure-identity (wersja 1.11.1) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 12.4.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.6.1) i Azure-identity (wersja 1.9.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 12.2.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.5.3) i Azure-identity (wersja 1.7.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 11.2.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.4.1) i Azure-identity (wersja 1.5.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 10.2.0 — wersje zależności: Azure-security-keyvault-keys (wersja 4.3.6) i Azure-identity (wersja 1.4.3) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 9.4.1 — wersje zależności: Azure-security-keyvault-keys (wersja 4.2.8) i Azure-identity (wersja 1.3.3) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 9.2.1 — wersje zależności: Azure-security-keyvault-keys (wersja 4.2.1) i Azure-identity (wersja 1.1.3) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 8.4.1 — wersje zależności: Azure-Keyvault (wersja 1.2.4), Adal4j (wersja 1.6.5), Client-Runtime-for-AutoRest (wersja 1.7.4) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 8.2.2 — wersje zależności: Azure-Keyvault (wersja 1.2.2), Adal4j (wersja 1.6.4), Client-Runtime-for-AutoRest (wersja 1.7.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 7.4.1 — wersje zależności: Azure-Keyvault (wersja 1.2.1), Adal4j (wersja 1.6.4), Client-Runtime-for-AutoRest (wersja 1.6.10) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 7.2.2 — wersje zależności: Azure-Keyvault (wersja 1.2.0), Azure—Keyvault-Webkey (wersja 1.2.0), Adal4j (wersja 1.6.3), Client-Runtime-for-AutoRest (1.6.5) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 7.0.0 — wersje zależności: Azure-Keyvault (wersja 1.0.0), Adal4j (wersja 1.6.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 6.4.0 — wersje zależności: Azure-Keyvault (wersja 1.0.0), Adal4j (wersja 1.4.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 6.2.2 — wersje zależności: Azure-Keyvault (wersja 1.0.0), Adal4j (wersja 1.4.0) i ich zależności (przykładowa aplikacja)
  • Sterownik JDBC w wersji 6.0.0 — wersje zależności: Azure-Keyvault (wersja 0.9.7), Adal4j (wersja 1.3.0) i ich zależności ( przykładowa aplikacja)

Uwaga / Notatka

W wersjach sterowników 6.2.2 i 6.4.0 zależność azure-keyvault-java została zaktualizowana do wersji 1.0.0. Jednak nowa wersja nie była zgodna z poprzednią wersją (0.9.7) i przerywa istniejącą implementację w sterowniku. Nowa implementacja sterownika wymagała zmian interfejsu API, co z kolei powoduje przerwanie programów klienckich korzystających z dostawcy usługi Azure Key Vault.

Ten problem został rozwiązany z najnowszymi wersjami sterowników (7.0.0). Usunięty konstruktor, który używał mechanizmu wywołania zwrotnego uwierzytelniania, jest dodawany z powrotem do dostawcy usługi Azure Key Vault w celu zapewnienia zgodności z poprzednimi wersjami.

Praca z uwierzytelnianiem firmy Microsoft Entra

  • Sterownik JDBC w wersji 12.10.0 — wersje zależności: Azure-identity (wersja 1.15.3) i jego zależności.
  • Sterownik JDBC w wersji 12.8.0 — wersje zależności: Azure-identity (wersja 1.12.2), Msal4j (wersja 1.15.1) i ich zależności.
  • Sterownik JDBC w wersji 12.6.0 — wersje zależności: Azure-identity (wersja 1.11.1), Msal4j (wersja 1.14.1) i ich zależności.
  • Sterownik JDBC w wersji 12.4.0 — wersje zależności: Azure-identity (wersja 1.9.0), Msal4j (wersja 1.13.8) i ich zależności.
  • Sterownik JDBC w wersji 12.2.0 — wersje zależności: Azure-identity (wersja 1.7.0), Msal4j (wersja 1.13.3) i ich zależności.
  • Sterownik JDBC w wersji 11.2.0 — wersje zależności: Azure-identity (wersja 1.5.0) wraz z ich zależnościami.
  • Sterownik JDBC w wersji 10.2.0 — wersje zależności: Azure-identity (wersja 1.4.3) i ich zależności.
  • Sterownik JDBC w wersji 9.4.1 — wersje zależności: Azure-identity (wersja 1.3.3) i ich zależności.
  • Sterownik JDBC w wersji 9.2.1 — wersje zależności: Azure-identity (wersja 1.1.3) i ich zależności.
  • Sterownik JDBC w wersji 8.4.1 — wersje zależności: Adal4j (wersja 1.6.5), Client-Runtime-for-AutoRest (1.7.4) oraz ich zależności.
  • Sterownik JDBC w wersji 8.2.2 — wersje zależności: Adal4j (wersja 1.6.4), Client-Runtime-for-AutoRest (1.7.0) i ich zależności. W tej wersji sterownika sqljdbc_auth.dll zmieniono nazwę na mssql-jdbc_auth-\<version>-\<arch>.dll.
  • Sterownik JDBC w wersji 7.4.1 — wersje zależności: Adal4j (wersja 1.6.4), Client-Runtime-for-AutoRest (1.6.10) i ich zależności
  • Sterownik JDBC w wersji 7.2.2 — wersje zależności: Adal4j (wersja 1.6.3), Client-Runtime-for-AutoRest (wersja 1.6.5) i ich zależności
  • Sterownik JDBC w wersji 7.0.0 — wersje zależności: Adal4j (wersja 1.6.0) i jego zależności
  • Sterownik JDBC w wersji 6.4.0 — wersje zależności: Adal4j (wersja 1.4.0) i jego zależności
  • Sterownik JDBC w wersji 6.2.2 — wersje zależności: Adal4j (wersja 1.4.0) i jego zależności
  • Sterownik JDBC w wersji 6.0.0 — wersje zależności: Adal4j (wersja 1.3.0) oraz jego zależności. W tej wersji sterownika można nawiązać połączenie przy użyciu trybu ActiveDirectoryIntegrated Authentication Mode, tylko w systemie operacyjnym Windows i przy użyciu sqljdbc_auth.dll i Biblioteki uwierzytelniania usługi Active Directory dla programu SQL Server (ADALSQL.DLL).

Od wersji sterownika 6.4.0 aplikacje nie muszą wymagać używania ADALSQL.DLL w systemach operacyjnych Windows. W przypadku systemów operacyjnych innych niż Windows, sterownik wymaga biletu protokołu Kerberos do pracy z uwierzytelnianiem zintegrowanym z Active Directory. Aby uzyskać więcej informacji na temat nawiązywania połączenia z usługą Active Directory przy użyciu protokołu Kerberos, zobacz Ustawianie biletu protokołu Kerberos w systemach Windows, Linux i macOS.

W przypadku systemów operacyjnych Windows sterownik domyślnie wyszukuje sqljdbc_auth.dll i nie wymaga konfiguracji biletu Kerberos ani zależności od bibliotek Azure. Jeśli sqljdbc_auth.dll nie jest dostępna, sterownik wyszukuje bilet Kerberos do uwierzytelniania w Active Directory, tak jak w innych systemach operacyjnych.

Od wersji sterownika 8.2.2 lub nowszej, nazwa sqljdbc_auth.dll została zmieniona na mssql-jdbc_auth-\<version>-\<arch>.dll. Na przykład mssql-jdbc_auth-8.2.2.x64.dll.

Oprócz mssql-jdbc_auth-<version>-<arch>.dll (dostępnej w pakiecie sterowników JDBC) należy również zainstalować bibliotekę uwierzytelniania usługi Azure Active Directory (ADAL.DLL). Bibliotekę uwierzytelniania usługi Microsoft Azure Active Directory można zainstalować ze sterownika Microsoft ODBC dla programu SQL Server lub sterownika Microsoft OLE DB dla programu SQL Server. Sterownik JDBC obsługuje tylko wersję 1.0.2028.318 i nowszej dla ADAL.DLL.

Możesz uzyskać przykładową aplikację korzystającą z tej funkcji.

Zobacz także

Repozytorium GitHub sterownika JDBC
Dokumentacja interfejsu API sterownika JDBC