Dipendenze delle funzionalità di Microsoft JDBC Driver per SQL Server

Scaricare il driver JDBC

Questo articolo elenca le librerie da cui dipende Microsoft JDBC Driver per SQL Server. Il progetto contiene le dipendenze seguenti:

Fase di compilazione

  • com.azure:azure-security-keyvault-keys: libreria client di Microsoft Azure per le chiavi KeyVault per il driver JDBC versione 9.2 e successive o com.microsoft.azure:azure-keyvault: Microsoft Azure SDK per Key Vault per il driver JDBC versione 8.4 e successive per la funzionalità Insieme di credenziali delle chiavi di Azure di Always Encrypted. (facoltativo).
  • com.azure:azure-identity: Libreria client di Microsoft Azure per identità per il driver JDBC versione 9.2 e successive oppure com.microsoft.azure:adal4j: Microsoft Entra Authentication Library per il driver JDBC versione 8.4 e precedenti per le funzionalità di autenticazione di Microsoft Entra e la funzionalità Azure Key Vault. (facoltativo).
  • com.microsoft.azure:msal4j: Microsoft Authentication Library (MSAL) per Java. (facoltativo).
  • org.antlr:antlr4-runtime: Runtime ANTLR 4 per la funzionalità useFmtOnly. (facoltativo).
  • org.osgi:org.osgi.core: libreria OSGi Core per il supporto OSGi Framework.
  • org.osgi:org.osgi.service.jdbc: codice complementare OSGi per JDBC.
  • com.google.code.gson: parser JSON per Always Encrypted con funzionalità di enclave sicure. (facoltativo).
  • org.bouncycastle.bcprov-jdk18on: provider Bouncy Castle per Always Encrypted con la funzionalità enclave sicure quando si usa solo JAVA 8. (facoltativo).

Tempo di esecuzione

I progetti che richiedono una delle funzionalità precedenti devono dichiarare in modo esplicito le rispettive dipendenze nel file POM corrispondenti alle dipendenze della versione del driver usata.

Per esempio: se si usa la funzionalità di autenticazione di Microsoft Entra con il driver JDBC versione 10.2 e successive, è necessario dichiarare la dipendenza azure-identity nel file POM del progetto. Vedere il frammento seguente:

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

Per esempio: se si usa la funzionalità di autenticazione di Microsoft Entra con il driver JDBC versione 8.4 e successive, è necessario dichiarare le dipendenze adal4j e client-runtimes nel file POM del progetto. Vedere il frammento seguente:

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

Per esempio: se si usa la funzionalità di Azure Key Vault con il driver JDBC versione 10.2 e successive, è necessario dichiarare le dipendenze azure-security-keyvault-keys e azure-identity nel file POM del progetto. Vedere il frammento seguente:

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

Per esempio: se si usa la funzionalità Azure Key Vault con il driver JDBC versione 8.4 e successive, è necessario dichiarare le dipendenze azure-keyvault, adal4j e client-runtime nel file POM del progetto. Vedere il frammento seguente:

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

Nota

Assicurarsi di usare la versione del file POM fornita con la versione del driver JDBC in uso. Le dipendenze e le versioni potrebbero essere state modificate.

Se si usa Maven per compilare o testare il progetto, Maven scarica automaticamente le librerie dipendenti nel file POM insieme alle relative librerie transitive. È anche possibile usare il plug-in Dipendenza Maven per scaricare tutte le dipendenze del progetto in una posizione desiderata. Se non si usa Maven, è necessario scaricare manualmente le dipendenze e le dipendenze transitive per assicurarsi di avere tutte le versioni corrette di ogni libreria. Dopo aver scaricato le librerie dipendenti necessarie, aggiungerle al classpath del progetto per eseguire l'applicazione.

Requisiti di dipendenza per il driver JDBC

Utilizzare il provider Azure Key Vault

  • Driver JDBC versione 12.6.0 - Versioni delle dipendenze:: Azure-security-keyvault-keys (versione 4.7.3) e Azure-identity (versione 1.11.1) e relative dipendenze (applicazione di esempio)
  • Driver JDBC versione 12.4.0 - Versioni delle dipendenze: Azure-security-keyvault-keys (versione 4.6.1) e Azure-identity (versione 1.9.0) e relative dipendenze (applicazione di esempio)
  • Driver JDBC versione 12.2.0 - Versioni delle dipendenze: Azure-security-keyvault-keys (versione 4.5.3) e Azure-identity (versione 1.7.0) e relative dipendenze (applicazione di esempio)
  • Driver JDBC versione 11.2.0 - Versioni delle dipendenze: Azure-security-keyvault-keys (versione 4.4.1) e Azure-identity (versione 1.5.0) e relative dipendenze (applicazione di esempio)
  • Driver JDBC versione 10.2.0 - Versioni delle dipendenze: Azure-security-keyvault-keys (versione 4.3.6) e Azure-identity (versione 1.4.3) e relative dipendenze (applicazione di esempio)
  • Driver JDBC versione 9.4.1 - Versioni delle dipendenze: Azure-security-keyvault-keys (versione 4.2.8) e Azure-identity (versione 1.3.3) e relative dipendenze (applicazione di esempio)
  • Driver JDBC versione 9.2.1 - Versioni delle dipendenze: Azure-security-keyvault-keys (versione 4.2.1) e Azure-identity (versione 1.1.3) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 8.4.1 - Versioni delle dipendenze: Azure-Keyvault (versione 1.2.4), Adal4j (versione 1.6.5), Client-Runtime-for-AutoRest (1.7.4) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 8.2.2 - Versioni delle dipendenze: Azure-Keyvault (versione 1.2.2), Adal4j (versione 1.6.4), Client-Runtime-for-AutoRest (1.7.0) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 7.4.1 - Versioni delle dipendenze: Azure-Keyvault (versione 1.2.1), Adal4j (versione 1.6.4), Client-Runtime-for-AutoRest (1.6.10) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 7.2.2 - Versioni delle dipendenze: Azure-Keyvault (versione 1.2.0), Azure-Keyvault-Webkey (versione 1.2.0), Adal4j (versione 1.6.3), Client-Runtime-for-AutoRest (1.6.5) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 7.0.0 - Versioni delle dipendenze: Azure-Keyvault (versione 1.0.0), Adal4j (versione 1.6.0) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 6.4.0 - Versioni delle dipendenze: Azure-Keyvault (versione 1.0.0), Adal4j (versione 1.4.0) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 6.2.2 - Versioni delle dipendenze: Azure-Keyvault (versione 1.0.0), Adal4j (versione 1.4.0) e relative dipendenze (applicazione di esempio)
  • Versione del driver JDBC 6.0.0 - Versioni delle dipendenze: Azure-Keyvault (versione 0.9.7), Adal4j (versione 1.3.0) e relative dipendenze (applicazione di esempio)

Nota

Con le versioni del driver 6.2.2 e 6.4.0, la dipendenza azure-keyvault-java era stata aggiornata alla versione 1.0.0. La nuova versione non era tuttavia compatibile con la versione precedente (0.9.7) e interrompe l'implementazione esistente nel driver. La nuova implementazione nel driver ha richiesto modifiche API, che a loro volta interrompono i programmi client che usano il provider Azure Key Vault.

Questo problema viene risolto con le versioni più recenti del driver (dalla 7.0.0 in poi). Il costruttore rimosso che usava il meccanismo di callback dell'autenticazione è stato nuovamente aggiunto al provider Azure Key Vault per la compatibilità con le versioni precedenti.

Lavorare con l'autenticazione di Microsoft Entra

  • Versione del driver JDBC 12.6.0 - Versioni delle dipendenze: Azure-identity (versione 1.11.1) Msal4j (versione 1.14.1) e le relative dipendenze.
  • Versione del driver JDBC 12.4.0 - Versioni delle dipendenze: Azure-identity (versione 1.9.0), Msal4j (versione 1.13.8) e le relative dipendenze.
  • Versione del driver JDBC 12.2.0 - Versioni delle dipendenze: Azure-identity (versione 1.7.0), Msal4j (versione 1.13.3) e le relative dipendenze.
  • Versione del driver JDBC 11.2.0 - Versioni delle dipendenze: Azure-identity (versione 1.5.0) e le relative dipendenze.
  • Versione del driver JDBC 10.2.0 - Versioni delle dipendenze: Azure-identity (versione 1.4.3) e le relative dipendenze.
  • Versione del driver JDBC 9.4.1 - Versioni delle dipendenze: Azure-identity (versione 1.3.3) e le relative dipendenze.
  • Versione del driver JDBC 9.2.1 - Versioni delle dipendenze: Azure-identity (versione 1.1.3) e le relative dipendenze.
  • Versione del driver JDBC 8.4.1 - Versioni delle dipendenze: Adal4j (versione 1.6.5), Client-Runtime-for-AutoRest (1.7.4) e relative dipendenze.
  • Versione del driver JDBC 8.2.2 - Versioni delle dipendenze: Adal4j (versione 1.6.4), Client-Runtime-for-AutoRest (1.7.0) e relative dipendenze. In questa versione del driver, sqljdbc_auth.dll è stato rinominato in mssql-jdbc_auth-\<version>-\<arch>.dll.
  • Versione del driver JDBC 7.4.1 - Versioni delle dipendenze: Adal4j (versione 1.6.4), Client-Runtime-for-AutoRest (1.6.10) e relative dipendenze
  • Versione del driver JDBC 7.2.2 - Versioni delle dipendenze: Adal4j (versione 1.6.3), Client-Runtime-for-AutoRest (1.6.5) e relative dipendenze
  • Versione del driver JDBC 7.0.0 - Versioni delle dipendenze: Adal4j (versione 1.6.0) e le relative dipendenze
  • Versione del driver JDBC 6.4.0 - Versioni delle dipendenze: Adal4j (versione 1.4.0) e le relative dipendenze
  • Versione del driver JDBC 6.2.2 - Versioni delle dipendenze: Adal4j (versione 1.4.0) e le relative dipendenze
  • Versione del driver JDBC 6.0.0 - Versioni delle dipendenze: Adal4j (versione 1.3.0) e le relative dipendenze. In questa versione del driver è possibile connettersi tramite la modalità di autenticazione ActiveDirectoryIntegrated solo in un sistema operativo Windows e usando sqljdbc_auth.dll e Active Directory Authentication Library per SQL Server (ADALSQL.DLL).

A partire dalla versione 6.4.0 del driver, le applicazioni non richiedono necessariamente l'uso di ADALSQL.DLL nei sistemi operativi Windows. Per i sistemi operativi non Windows, il driver richiede un ticket Kerberos per l'uso dell'autenticazione ActiveDirectoryIntegrated. Per altre informazioni su come connettersi ad Active Directory con Kerberos, vedere Impostare i ticket Kerberos in Windows, Linux e macOS.

Per i sistemi operativi Windows, il driver cerca sqljdbc_auth.dll per impostazione predefinita e non richiede né l'impostazione di un ticket Kerberos né le dipendenze libreria Azure. Se sqljdbc_auth.dll non è disponibile, il driver cerca il ticket Kerberos per l'autenticazione in Active Directory, come accade per gli altri sistemi operativi.

A partire dalla versione 8.2.2 del driver in poi, sqljdbc_auth.dll viene rinominato in mssql-jdbc_auth-\<version>-\<arch>.dll. Ad esempio, mssql-jdbc_auth-8.2.2.x64.dll.

Oltre a mssql-jdbc_auth-<version>-<arch>.dll (disponibile nel pacchetto del driver JDBC), anche Azure Active Directory Authentication Library (ADAL.DLL) deve essere installata per Autenticazione integrata di Active Directory. Microsoft Azure Active Directory Authentication Library può essere installata da Microsoft ODBC Driver for SQL Server o Microsoft OLE DB Driver per SQL Server. Il driver JDBC supporta solo la versione 1.0.2028.318 e successive per ADAL.DLL.

È possibile ottenere un'applicazione di esempio che usa questa funzionalità.

Vedi anche

Repository GitHub del driver JDBC
Informazioni di riferimento sull'API del driver JDBC