Dependensi fitur Driver Microsoft JDBC untuk SQL Server

Unduh driver JDBC

Artikel ini mencantumkan pustaka yang bergantung pada Microsoft JDBC Driver untuk SQL Server. Proyek ini memiliki dependensi berikut:

Waktu kompilasi

  • com.azure:azure-security-keyvault-keys: Microsoft Azure Client Library For KeyVault KeyVault Keys untuk driver JDBC versi 9.2 ke atas atau com.microsoft.azure:azure-keyvault: Microsoft Azure SDK For Key Vault untuk driver JDBC versi 8.4 ke bawah untuk fitur Always Encrypted Azure Key Vault. (opsional)
  • com.azure:azure-identity: Pustaka Klien Microsoft Azure Untuk Identitas untuk driver JDBC versi 9.2 ke atas atau com.microsoft.azure:adal4j: Pustaka Autentikasi Microsoft Entra untuk driver JDBC versi 8.4 ke bawah untuk fitur autentikasi Microsoft Entra dan fitur Azure Key Vault. (opsional)
  • com.microsoft.azure:msal4j: Microsoft Authentication Library (MSAL) untuk Java. (opsional)
  • org.antlr:antlr4-runtime: Runtime ANTLR 4 untuk fitur useFmtOnly. (opsional)
  • org.osgi:org.osgi.core: Pustaka OSGi Core untuk dukungan OSGi Framework.
  • org.osgi:org.osgi.service.jdbc: Kode Pendamping OSGi untuk JDBC.
  • com.google.code.gson: Pengurai JSON untuk Always Encrypted dengan fitur enklave aman. (opsional)
  • org.bouncycastle.bcprov-jdk18on: Penyedia Benteng Bouncy untuk Always Encrypted dengan fitur enklave aman hanya untuk JAVA 8. (opsional)

Waktu jalan

Proyek yang memerlukan salah satu fitur sebelumnya harus secara eksplisit menyatakan dependensi masing-masing dalam file POM mereka yang cocok dengan dependensi versi driver yang digunakan.

Misalnya: Jika Anda menggunakan fitur autentikasi Microsoft Entra dengan driver JDBC versi 10.2 ke atas, Anda harus mendeklarasikan azure-identity dependensi dalam file POM proyek Anda. Lihat cuplikan berikut:

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

Misalnya: Jika Anda menggunakan fitur autentikasi Microsoft Entra dengan driver JDBC versi 8.4 ke bawah, Anda harus mendeklarasikan adal4j dependensi dan client-runtimes dalam file POM proyek Anda. Lihat cuplikan berikut:

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

Misalnya: Jika Anda menggunakan fitur Azure Key Vault dengan driver JDBC versi 10.2 ke atas, Anda harus mendeklarasikan azure-security-keyvault-keys dependensi dan azure-identity dalam file POM proyek Anda. Lihat cuplikan berikut:

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

Misalnya: Jika Anda menggunakan fitur Azure Key Vault dengan driver JDBC versi 8.4 ke bawah, Anda harus mendeklarasikan azure-keyvaultdependensi , adal4j, dan client-runtime dalam file POM proyek Anda. Lihat cuplikan berikut:

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

Catatan

Pastikan untuk menggunakan versi file POM yang dikirim dengan versi driver JDBC yang Anda gunakan. Dependensi dan versi mungkin telah berubah.

Jika Anda menggunakan Maven untuk membangun atau menguji proyek Anda, Maven secara otomatis mengunduh pustaka dependen dalam file POM bersama dengan pustaka transitifnya. Anda juga dapat menggunakan Plugin Dependensi Maven untuk mengunduh semua dependensi proyek ke lokasi yang diinginkan. Jika Anda tidak menggunakan Maven, Anda harus mengunduh dependensi dan dependensi transitif secara manual untuk memastikan Anda memiliki semua versi yang benar dari setiap pustaka. Setelah Anda mengunduh pustaka dependen yang diperlukan, tambahkan ke classpath proyek Anda untuk menjalankan aplikasi Anda.

Persyaratan dependensi untuk driver JDBC

Bekerja dengan penyedia Azure Key Vault

  • Driver JDBC versi 12.6.0—Versi dependensi: Azure-security-keyvault-keys (versi 4.7.3), dan Azure-identity (versi 1.11.1), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 12.4.0—Versi dependensi: Azure-security-keyvault-keys (versi 4.6.1), dan Azure-identity (versi 1.9.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 12.2.0—Versi dependensi: Azure-security-keyvault-keys (versi 4.5.3), dan Azure-identity (versi 1.7.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 11.2.0—Versi dependensi: Azure-security-keyvault-keys (versi 4.4.1), dan Azure-identity (versi 1.5.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 10.2.0—Versi dependensi: Azure-security-keyvault-keys (versi 4.3.6), dan Azure-identity (versi 1.4.3), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 9.4.1—Versi dependensi: Azure-security-keyvault-keys (versi 4.2.8), dan Azure-identity (versi 1.3.3), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 9.2.1—Versi dependensi: Azure-security-keyvault-keys (versi 4.2.1), dan Azure-identity (versi 1.1.3), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 8.4.1—Versi dependensi: Azure-Keyvault (versi 1.2.4), Adal4j (versi 1.6.5), Client-Runtime-for-AutoRest (versi 1.7.4), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 8.2.2—Versi dependensi: Azure-Keyvault (versi 1.2.2), Adal4j (versi 1.6.4), Client-Runtime-for-AutoRest (versi 1.7.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 7.4.1—Versi dependensi: Azure-Keyvault (versi 1.2.1), Adal4j (versi 1.6.4), Client-Runtime-for-AutoRest (versi 1.6.10), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 7.2.2—Versi dependensi: Azure-Keyvault (versi 1.2.0), Azure-Keyvault-Webkey (versi 1.2.0), Adal4j (versi 1.6.3), Client-Runtime-for-AutoRest (1.6.5), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 7.0.0—Versi dependensi: Azure-Keyvault (versi 1.0.0), Adal4j (versi 1.6.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 6.4.0—Versi dependensi: Azure-Keyvault (versi 1.0.0), Adal4j (versi 1.4.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 6.2.2—Versi dependensi: Azure-Keyvault (versi 1.0.0), Adal4j (versi 1.4.0), dan dependensinya (aplikasi sampel)
  • Driver JDBC versi 6.0.0—Versi dependensi: Azure-Keyvault (versi 0.9.7), Adal4j (versi 1.3.0), dan dependensinya ( aplikasi sampel)

Catatan

Dengan versi driver 6.2.2 dan 6.4.0, dependensi azure-keyvault-java telah diperbarui ke versi 1.0.0. Namun, versi baru tidak kompatibel dengan versi sebelumnya (0.9.7) dan memutus implementasi yang ada di driver. Implementasi baru dalam driver memerlukan perubahan API, yang pada gilirannya memutus program klien yang menggunakan Penyedia Azure Key Vault.

Masalah ini diselesaikan dengan versi driver terbaru (7.0.0 dan seterusnya). Konstruktor yang dihapus yang menggunakan mekanisme panggilan balik autentikasi ditambahkan kembali ke Penyedia Azure Key Vault untuk kompatibilitas mundur.

Bekerja dengan autentikasi Microsoft Entra

  • Driver JDBC versi 12.6.0—Versi dependensi: Azure-identity (versi 1.11.1), Msal4j (versi 1.14.1), dan dependensinya.
  • Driver JDBC versi 12.4.0—Versi dependensi: Azure-identity (versi 1.9.0), Msal4j (versi 1.13.8), dan dependensinya.
  • Driver JDBC versi 12.2.0—Versi dependensi: Azure-identity (versi 1.7.0), Msal4j (versi 1.13.3), dan dependensinya.
  • Driver JDBC versi 11.2.0—Versi dependensi: Azure-identity (versi 1.5.0), dan dependensinya.
  • Driver JDBC versi 10.2.0—Versi dependensi: Azure-identity (versi 1.4.3), dan dependensinya.
  • Driver JDBC versi 9.4.1—Versi dependensi: Azure-identity (versi 1.3.3), dan dependensinya.
  • Driver JDBC versi 9.2.1—Versi dependensi: Azure-identity (versi 1.1.3), dan dependensinya.
  • Driver JDBC versi 8.4.1—Versi dependensi: Adal4j (versi 1.6.5), Client-Runtime-for-AutoRest (1.7.4), dan dependensinya.
  • Driver JDBC versi 8.2.2—Versi dependensi: Adal4j (versi 1.6.4), Client-Runtime-for-AutoRest (1.7.0), dan dependensinya. Dalam versi driver ini, sqljdbc_auth.dll telah diganti namanya menjadi mssql-jdbc_auth-\<version>-\<arch>.dll.
  • Driver JDBC versi 7.4.1—Versi dependensi: Adal4j (versi 1.6.4), Client-Runtime-for-AutoRest (1.6.10), dan dependensinya
  • Driver JDBC versi 7.2.2—Versi dependensi: Adal4j (versi 1.6.3), Client-Runtime-for-AutoRest (1.6.5), dan dependensinya
  • Driver JDBC versi 7.0.0—Versi dependensi: Adal4j (versi 1.6.0) dan dependensinya
  • Driver JDBC versi 6.4.0—Versi dependensi: Adal4j (versi 1.4.0) dan dependensinya
  • Driver JDBC versi 6.2.2—Versi dependensi: Adal4j (versi 1.4.0) dan dependensinya
  • Driver JDBC versi 6.0.0—Versi dependensi: Adal4j (versi 1.3.0), dan dependensinya. Dalam versi driver ini, Anda dapat terhubung menggunakan Mode Autentikasi ActiveDirectoryIntegrated , hanya pada sistem operasi Windows, dan dengan menggunakan sqljdbc_auth.dll dan Pustaka Autentikasi Direktori Aktif untuk SQL Server (ADALSQL.DLL).

Dari driver versi 6.4.0 dan seterusnya, aplikasi tidak selalu memerlukan penggunaan ADALSQL.DLL pada sistem operasi Windows. Untuk sistem operasi non-Windows, driver memerlukan tiket Kerberos untuk bekerja dengan ActiveDirectoryIntegrated Authentication. Untuk informasi selengkapnya tentang cara menyambungkan ke Direktori Aktif dengan menggunakan Kerberos, lihat Mengatur tiket Kerberos di Windows, Linux, dan macOS.

Untuk sistem operasi Windows, driver mencari sqljdbc_auth.dll secara default dan tidak memerlukan penyiapan tiket Kerberos atau dependensi pustaka Azure. Jika sqljdbc_auth.dll tidak tersedia, driver mencari tiket Kerberos untuk mengautentikasi ke Direktori Aktif seperti pada sistem operasi lain.

Dari driver versi 8.2.2 dan seterusnya, sqljdbc_auth.dll diganti namanya menjadi mssql-jdbc_auth-\<version>-\<arch>.dll. Contohnya, mssql-jdbc_auth-8.2.2.x64.dll.

Selain mssql-jdbc_auth-version-arch>><<.dll (tersedia dalam paket driver JDBC), Azure Active Directory Authentication Library (ADAL.DLL) juga harus diinstal untuk autentikasi Terintegrasi Direktori Aktif. Pustaka Autentikasi Microsoft Azure Active Directory dapat diinstal dari Driver Microsoft ODBC untuk SQL Server atau Driver Microsoft OLE DB untuk SQL Server. Driver JDBC hanya mendukung versi 1.0.2028.318 dan yang lebih tinggi untuk ADAL.DLL.

Anda bisa mendapatkan aplikasi sampel yang menggunakan fitur ini.

Baca juga

Repositori GitHub Driver JDBC
Referensi API Driver JDBC