Domande frequenti sul driver JDBC

Scaricare il driver JDBC

Questa pagina offre le risposte alle domande frequenti su Microsoft JDBC Driver per SQL Server.

Domande frequenti

Come è possibile contribuire al miglioramento del driver JDBC?
Il driver JDBC è open source e il codice sorgente è disponibile in GitHub. È possibile contribuire al miglioramento del driver registrando i problemi e contribuendo alla base di codice.

Quali versioni di SQL Server e Java sono supportate dal driver?
Vedere la pagina Matrice di supporto di Microsoft JDBC Driver per SQL Server per altri dettagli.

Qual è la differenza tra i pacchetti del driver JDBC disponibili nella pagina di download Microsoft e il driver JDBC disponibile in GitHub?
I file del driver JDBC disponibili nel repository GitHub per Microsoft JDBC Driver sono la parte fondamentale del driver JDBC e sono coperti dalla licenza open source elencata nel repository. I pacchetti del driver nella pagina di download Microsoft includono altre librerie per l'autenticazione integrata di Windows e per l'abilitazione delle transazioni XA con il driver JDBC. Queste altre librerie sono coperte dalla licenza inclusa nel pacchetto scaricabile.

Cosa occorre sapere per aggiornare il driver?
Microsoft JDBC Driver 12.6 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-12.6.0.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0 e versioni successive
mssql-jdbc-12.6.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 12.4 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-12.4.0.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0 e versioni successive
mssql-jdbc-12.4.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 12.2 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-12.2.0.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0 e versioni successive
mssql-jdbc-12.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 11.2 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include quattro librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-11.2.0.jre18.jar JDBC 4.3 (parzialmente) e 4.2 JDK 18.0
mssql-jdbc-11.2.0.jre17.jar JDBC 4.3 (parzialmente) e 4.2 JDK 17.0
mssql-jdbc-11.2.0.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-11.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 10.2 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-10.2.0.jre17.jar JDBC 4.3 (parzialmente) e 4.2 JDK 17.0
mssql-jdbc-10.2.0.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-10.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 9.4 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-9.4.1.jre16.jar JDBC 4.3 (parzialmente) e 4.2 JDK 16.0
mssql-jdbc-9.4.1.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-9.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 9.2 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-9.2.0.jre15.jar JDBC 4.3 (parzialmente) e 4.2 JDK 15.0
mssql-jdbc-9.2.0.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-9.2.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 8.4 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-8.4.1.jre14.jar JDBC 4.3 (parzialmente) e 4.2 JDK 14.0
mssql-jdbc-8.4.1.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-8.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 8.2 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-8.2.2.jre13.jar JDBC 4.3 (parzialmente) e 4.2 JDK 13.0
mssql-jdbc-8.2.2.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-8.2.2.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 7.4 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-7.4.1.jre12.jar JDBC 4.3 (parzialmente) e 4.2 JDK 12.0
mssql-jdbc-7.4.1.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-7.4.1.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 7.2 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-7.2.2.jre11.jar JDBC 4.3 (parzialmente) e 4.2 JDK 11.0
mssql-jdbc-7.2.2.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 7.0 supporta le specifiche JDBC 4.2 e 4.3 (parzialmente) e include due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-7.0.0.jre10.jar JDBC 4.3 (parzialmente) e 4.2 JDK 10.0
mssql-jdbc-7.0.0.jre8.jar JDBC 4.2 JDK 8.0
     

Microsoft JDBC Driver 6.4 supporta le specifiche JDBC 4.1, 4.2 e 4.3 (parzialmente) e include tre librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-6.4.0.jre9.jar JDBC 4.3 (parzialmente), 4.2 e 4.1 JDK 9.0
mssql-jdbc-6.4.0.jre8.jar JDBC 4.2 e 4.1 JDK 8.0
mssql-jdbc-6.4.0.jre7.jar JDBC 4.1 JDK 7.0
     

Microsoft JDBC Driver 6.2 supporta le specifiche JDBC 4.0, 4.1 e 4.2 e include due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
mssql-jdbc-6.2.2.jre8.jar JDBC 4.2, 4.1 e 4.0 JDK 8.0
mssql-jdbc-6.2.2.jre7.jar JDBC 4.1 e 4.0 JDK 7.0
     

Microsoft JDBC Driver 6.0 e 4.2 per SQL Server supportano le specifiche JDBC 4.0, 4.1 e 4.2 e includono due librerie di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
sqljdbc42.jar JDBC 4.2, 4.1 e 4.0 JDK 8.0
sqljdbc41.jar JDBC 4.1 e 4.0 JDK 7.0
     

Microsoft JDBC Driver 4.1 per SQL Server supporta la specifica JDBC 4.0 e include una libreria di classi JAR nel pacchetto di installazione, come descritto di seguito:

JAR Specifica JDBC Versione JDK
sqljdbc41.jar JDBC 4.0 JDK 7.0 e 6.0
     

È necessario modificare il codice dell'applicazione per usare il driver più recente con la versione di SQL Server esistente?
In generale, il driver è progettato per essere compatibile con le versioni precedenti in modo che non sia necessario modificare le applicazioni esistenti per aggiornare il driver. Se una nuova versione del driver introduce una modifica significativa, la sezione Note sulla versione per il driver JDBC specifica tutti i dettagli necessari su tale modifica e gli effetti sulle applicazioni esistenti. Inoltre, è possibile esaminare le note sulla versione incluse con il driver per un elenco dei bug corretti e dei problemi noti in tale versione.

Quanto costa il driver?
Microsoft JDBC Driver per SQL Server è disponibile gratuitamente.

È possibile ridistribuire il driver?
I driver JDBC 6.0 e versioni successive sono ridistribuibili. Esaminare la clausola "Codice distribuibile" nei contratti di licenza inclusi in ogni pacchetto.

È possibile usare il driver per accedere a Microsoft SQL Server da un computer Linux?
Sì. È possibile usare il driver per accedere a SQL Server da Unix, Linux e altre piattaforme non Windows. Per altre informazioni, vedere Matrice di supporto di Microsoft JDBC Driver per SQL Server.

Il driver supporta la crittografia TLS?
A partire dalla versione 1.2, il driver supporta la crittografia Transport Layer Security (TLS), precedentemente nota come crittografia Secure Sockets Layer (SSL). Per altre informazioni, vedere Uso della crittografia.

Quali tipi di autenticazione supporta Microsoft JDBC Driver per SQL Server?
La tabella seguente elenca le opzioni di autenticazione disponibili. L'autenticazione Kerberos Java pura è disponibile a partire dalla versione 4.0 del driver.

Piattaforma Autenticazione
Non Windows Kerberos Java pura
Non Windows SQL Server
Non Windows Autenticazione di Azure Active Directory
Non Windows NTLM
Finestre Kerberos Java pura
Finestre SQL Server
Finestre Kerberos con backup NTLM
Finestre NTLM
Finestre Autenticazione di Azure Active Directory
   

Il driver supporta gli indirizzi del protocollo IPv6?
Sì. Il driver supporta l'uso degli indirizzi IPv6. Usare la raccolta di proprietà di connessione e la proprietà della stringa di connessione serverName. Per altre informazioni, vedere Costruzione dell'URL di connessione.

Che cos'è il buffering adattivo?
Il buffer adattivo è stato introdotto a partire da Microsoft SQL Server 2005 JDBC Driver versione 1.2. È progettato per recuperare qualsiasi tipo di dati con valori di grandi dimensioni senza l'overhead dei cursori server. La funzionalità di buffering adattivo di Microsoft SQL Server JDBC Driver fornisce una proprietà della stringa di connessione responseBuffering che può essere impostata su "adattiva" o "completa". Nella versione 1.2 la modalità di buffering predefinita è "full" e l'applicazione deve impostare la modalità di buffering adattivo in modo esplicito. A partire da JDBC Driver versione 2.0 il comportamento predefinito è "adattivo". Per ottenere il comportamento di buffering adattivo, l'applicazione non deve quindi richiederlo in modo esplicito. Per altre informazioni, vedere Uso del buffer adattivo e il blog What is adaptive response buffering and why should I use it? (Che cos'è il buffering delle risposte adattivo e perché usarlo).

Il driver supporta il pool di connessioni?
Il driver fornisce il supporto per il pool di connessioni Java Platform, Enterprise Edition 5 (Java EE 5). Il driver implementa le interfacce JDBC 3.0 necessarie per consentire al driver di partecipare a qualsiasi implementazione di pool di connessioni offerta dai fornitori di server applicazioni middleware. Il driver partecipa alle connessioni in pool in questi ambienti. Per altre informazioni, vedere Uso del pool di connessioni. Il driver non fornisce una propria implementazione di pool, ma si basa su server applicazioni Java di terze parti.

È disponibile il supporto per il driver?
Sono disponibili diverse opzioni di supporto. È possibile pubblicare eventuali domande o problemi nel repository GitHub, che è monitorato da Microsoft. I forum sono monitorati da Microsoft, dagli MVP e dalla community. È anche possibile contattare il Supporto tecnico Microsoft. Il team di sviluppo potrebbe richiedere di riprodurre il problema all'esterno di eventuali server applicazioni di terze parti. Se il problema non può essere riprodotto all'esterno dell'ambiente contenitore Java che lo ospita, sarà necessario coinvolgere le terze parti interessate per consentire al team di continuare a offrire assistenza. Per una risoluzione più efficace del problema, il team potrebbe anche richiedere di riprodurlo in un sistema operativo come Windows.

Il driver è certificato per l'uso con server applicazioni di terze parti?
Il driver è stato testato nei principali server applicazioni, inclusi IBM WebSphere e SAP NetWeaver.

Come si abilita la traccia?
Il driver supporta l'utilizzo della traccia (o registrazione) per semplificare la risoluzione dei problemi relativi all'utilizzo del driver JDBC nell'applicazione. Per abilitare l'utilizzo della traccia JAR sul lato client, il driver JDBC usa le API di registrazione in java.util.logging. Per altre informazioni, vedere Creazione di tracce. Per informazioni sulla traccia XA sul lato server, vedere la pagina relativa alla traccia di accesso ai dati in SQL Server.

Da dove è possibile scaricare le versioni precedenti del driver, ad esempio SQL Server 2000 JDBC Driver, 2005 Driver oppure le versioni del driver 1.0, 1.1 o 1.2?
Queste versioni del driver non sono disponibili per il download perché non sono più supportate. Il supporto per la connettività Java è in continuo miglioramento. pertanto è consigliabile usare sempre la versione più recente del driver Microsoft JDBC.

Si sta usando JRE 1.4. Quali sono i driver compatibili?
I clienti che usano prodotti SAP e richiedono il supporto di JRE 1.4 possono contattare SAP Service Marketplace per ottenere Microsoft JDBC Driver 1.2.

Il driver può comunicare usando gli algoritmi FIPS convalidati?
Microsoft JDBC Driver non contiene algoritmi di crittografia. Se un cliente usa algoritmi del sistema operativo, dell'applicazione e JVM considerati accettabili da FIPS (Federal Information Processing Standard) e configura il driver per l'uso di tali algoritmi, il driver usa solo gli algoritmi designati per la comunicazione. Per altre informazioni, vedere Modalità FIPS.

Vedi anche