Informazioni sulla versione
Microsoft JDBC Driver 12.8 per SQL Server

------------
INTRODUZIONE
------------
Questo file contiene informazioni aggiornate o altre informazioni importanti che integrano la documentazione di Microsoft JDBC 
Documentazione di Driver 12.8 per SQL Server. Leggere il file prima di procedere all'installazione 
del driver JDBC.

I commenti e suggerimenti inviati dagli utenti sono fondamentali, pertanto Microsoft farà il possibile per rispondere 
in tempi brevi. Per informazioni su come inviare commenti e suggerimenti tramite i forum online e i blog relativi al driver JDBC, 
vedere la pagina Microsoft JDBC Driver 12.8 per SQL Server all'indirizzo https://aka.ms/mssql-jdbc-feedback


------------
INSTALLAZIONE
------------
Le istruzioni per l'installazione del driver JDBC sono contenute nel file install.txt. Fare riferimento al file per 
informazioni sull'installazione del driver JDBC nei sistemi operativi Windows, Linux e macOS.


---------------------------
SISTEMI OPERATIVI SUPPORTATI
---------------------------
Microsoft JDBC Driver 12.8 per SQL Server supporta i sistemi operativi seguenti:
  Windows Server 2012
  Windows Server 2012 R2
  Windows Server 2016
  Windows Server 2019
  Windows Server 2022
  Windows 8.1
  Windows 10
  Windows 11
  Linux
  macOS

L'elenco riportato in precedenza è un esempio di alcuni dei sistemi operativi supportati. Il driver JDBC è progettato 
per essere usato in qualsiasi sistema operativo che supporta l'uso di Java Virtual Machine (JVM). 

Tuttavia solo le versioni più recenti dei sistemi operativi Linux e MacOS (Ubuntu 20.04, Ubuntu 18.04, CentOS 7, SUSE 12,
 macOS 11) sono state sottoposte a test per la compatibilità e il supporto.


-----------------------
VERSIONI DI JAVA SUPPORTATE
-----------------------
Microsoft JDBC Driver 12.8 per SQL Server è stato testato e supporta le versioni più recenti di Java 
Development Kit (JDK) di Open JDK e Zulu nei sistemi operativi supportati, come indicato in precedenza.
Sono supportate le seguenti versioni della famiglia di librerie di sistema Java Runtime Environment (JRE):

  ----------------------------------------------------------------------
  Versione famiglia JRE | File con estensione jar del driver con massimo supporto
  ----------------------------------------------------------------------
  8+                 | mssql-jdbc-12.8.0.jre8.jar
  11+                | mssql-jdbc-12.8.0.jre11.jar


----------------
CONTENUTO DELLA VERSIONE
----------------
Il file con estensione zip o tar di Microsoft JDBC Driver 12.8 per SQL Server decomprime i file seguenti 
nei percorsi specificati relativi alla directory di installazione selezionata:

<directory di installazione>\sqljdbc_<versione>\<lingua>\install.txt
<directory di installazione>\sqljdbc_<versione>\<lingua>\release.txt
<directory di installazione>\sqljdbc_<versione>\<lingua>\license.txt
<directory di installazione>\sqljdbc_<versione>\<lingua>\thirdpartynotices.txt
<directory di installazione>\sqljdbc_<versione>\<lingua>\mssql-jdbc-12.8.0.jre8.jar
<directory di installazione>\sqljdbc_<versione>\<lingua>\mssql-jdbc-12.8.0.jre11.jar
<directory di installazione>\sqljdbc_<versione>\<lingua>\auth\x86\mssql-jdbc_auth-12.8.0.x86.dll
<directory di installazione>\sqljdbc_<versione>\<lingua>\auth\x64\mssql-jdbc_auth-12.8.0.x64.dll
<directory di installazione>\sqljdbc_<versione>\<lingua>\samples\<file di esempio...>
<directory di installazione>\sqljdbc_<versione>\<lingua>\xa\xa_install.sql
<directory di installazione>\sqljdbc_<versione>\<lingua>\xa\x86\sqljdbc_xa.dll
<directory di installazione>\sqljdbc_<versione>\<lingua>\xa\x64\sqljdbc_xa.dll

Per informazioni dettagliate sui singoli componenti, vedere la documentazione online
di Microsoft JDBC Driver per SQL Server: https://aka.ms/mssql-jdbc


-------------
DOCUMENTAZIONE
-------------
Le informazioni sulla versione, le istruzioni di installazione e le condizioni di licenza sono incluse in questo pacchetto. 
Il resto della documentazione è disponibile online.

Si noti che i file della guida offline non sono più disponibili. 


---------
FILE JAR
---------
Per il supporto della compatibilità con le versioni precedenti e di possibili scenari di aggiornamento, JDBC Driver 12.8 include 
tre librerie di classi (file con estensione jar) in ogni pacchetto di installazione:
	mssql-jdbc-12.8.0.jre8.jar
	mssql-jdbc-12.8.0.jre11.jar


----------------------
FILE SPECIFICI DI FUNZIONALITÀ
----------------------
I componenti Azure Active Directory e Autenticazione integrata (in Windows) sono inclusi 
nella directory di autenticazione.

I componenti della transazione distribuita JDBC sono inclusi nella directory "xa".


--------------------
DIPENDENZE DELLE FUNZIONALITÀ
--------------------
Alcune funzionalità di Microsoft JDBC Driver 12.8 per SQL Server sono dipendenti da librerie esterne, 
come indicato di seguito:

1. Uso di 'Always Encrypted' con Azure Key Vault Provider
   Librerie dipendenti: azure-keyvault (versione 4.5.1) e azure-identity (versione 1.7.0-beta.2)

2. Uso di 'Always Encrypted con enclave sicuri'
   Librerie dipendenti: com.google.code.gson (versione 2.8.9)
   e org.bouncycastle (versione 1.70). La libreria org.bouncycastle è necessaria solo per JDK 8.
   
3. Uso di 'Autenticazione di Azure Active Directory' nei sistemi operativi Windows, Linux e macOS
   Librerie dipendenti: azure-identity (versione 1.7.0-beta.2)
   
4. Uso di 'useFmtOnly' per recuperare i metadati dei parametri
   Librerie dipendenti: antlr-runtime (versione 4.9.3)
   
Per informazioni dettagliate sull'inserimento di queste librerie dipendenti in un'applicazione Java standard 
o un'applicazione Maven, vedere: https://go.microsoft.com/fwlink/?linkid=867575

-------
ESEMPI
-------
Nella directory "samples" sono incluse applicazioni di esempio che illustrano diverse funzionalità
del driver JDBC. Per altre informazioni sui singoli esempi e su come eseguirli, vedere la documentazione 
online.


-----------
ELENCO DELLE MODIFICHE
-----------
Per un elenco dettagliato delle modifiche, delle correzioni e dei miglioramenti apportati in ogni versione, vedere: https://aka.ms/mssql-jdbc-release-notes

------------
PROBLEMI NOTI
------------
Di seguito sono descritti i problemi noti relativi a Microsoft JDBC Driver 12.8 per SQL Server:

1) ELIMINAZIONE DI CONNESSIONI CON SQL AZURE

Durante la connessione a SQL Azure, è possibile che le connessioni inattive vengano terminate da un componente di rete, ad esempio 
un firewall, dopo un periodo di inattività. Per evitare l'eliminazione delle connessioni inattive da parte di un componente di rete, 
specificare le impostazioni del Registro di sistema seguenti o i loro equivalenti non Windows nel sistema 
operativo in cui è caricato il driver:
           
Impostazione del Registro di sistema                                                                   Valore consigliato
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime            30000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveInterval         1000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmission  10

2) QUANDO SI USA TVP CON SQL_VARIANT 

2.a) PER I VALORI DI DATA

Quando si usa TVP per popolare una tabella che contiene valori datetime/smalldatetime/date nella colonna sql_variant, 
la chiamata di getDateTime()/getSmallDateTime()/getDate() su ResultSet non funziona e viene generata l'eccezione seguente:

	Impossibile eseguire il cast di java.lang.String a java.sql.Timestamp

Soluzione alternativa: usare getString() o getObject().

2.b) QUANDO SI USA TVP CON SQL_VARIANT PER I VALORI NULL

Se si usa TVP per popolare una tabella e si invia un valore NULL al tipo di colonna sql_variant viene generata
un'eccezione, perché l'inserimento di un valore NULL con tipo di colonna sql_variant in TVP non è attualmente supportato.


3) QUANDO SI USA L'AUTENTICAZIONE NTLM

Non è attualmente supportato abilitare la protezione estesa e al tempo stesso le connessioni crittografate.

4) QUANDO SI USA useFmtOnly

Esistono alcuni problemi con la funzionalità causati da malfunzionamenti nella logica di analisi di SQL.
Per informazioni dettagliate e suggerimenti sulle soluzioni alternative, vedere https://aka.ms/mssql-jdbc-usefmtonly.
