Funzionalità internazionali del driver JDBC

Tra le funzionalità internazionali del driver JDBC per Microsoft SQL Server 2005 sono incluse le seguenti:

  • Supporto di un'interfaccia completamente localizzata nelle stesse lingue di SQL Server.

  • Supporto delle conversioni di linguaggio di livello Java 1.4 di dati di SQL Server dipendenti dalle impostazioni locali.

  • Supporto di lingue internazionali, indipendentemente dal sistema operativo.

Gestione dei dati di tipo carattere

I dati di tipo carattere in Java vengono gestiti come Unicode per impostazione predefinita. L'oggetto Java String rappresenta dati di tipo carattere Unicode. Nel driver JDBC l'unica eccezione a questa regola è costituita dai metodi per il richiamo e l'impostazione dei flussi ASCII, che rappresentano casi speciali poiché utilizzano flussi di byte con il presupposto implicito di singole tabelle codici conosciute (ASCII).

Il driver JDBC fornisce inoltre la proprietà della stringa di connessione sendStringParametersAsUnicode, che può essere utilizzata per specificare che i parametri preparati per i dati di tipo carattere verranno inviati in formato ASCII anziché Unicode.

Per ulteriori informazioni sulla proprietà della stringa di connessione sendStringParametersAsUnicode, vedere Impostazione delle proprietà delle connessioni.

Conversioni in ingresso nel driver

I dati di tipo text Unicode provenienti dal server non devono essere convertiti. Vengono passati direttamente in formato Unicode. I dati non Unicode provenienti dal server vengono convertiti dalla tabella codici, a livello di database o di colonna, a Unicode. Per eseguire queste conversioni vengono utilizzate le routine di conversione JVM (Java Virtual Machine). Le conversioni vengono eseguite su tutti metodi per il richiamo di flussi String e Character tipizzati.

Se in JVM non è disponibile il supporto di tabella codici appropriato per i dati del database, viene generata un'eccezione "La tabella codici XXX non è supportata dall'ambiente Java".

Conversioni in uscita dal driver

I dati di tipo carattere che passano dal driver al server iniziano come Unicode. I dati in formato Unicode vengono passati al server, dove vengono eseguite le conversioni appropriate se la colonna di destinazione non è tipo Unicode (nchar, nvarchar, ntext). In tal caso, il testo Unicode viene passato dai metodi per l'impostazione e l'aggiornamento del driver JDBC per i flussi Strings e Character.

Problemi di formattazione

Per la data, l'ora e le valute, tutte le operazioni di formattazione con i dati localizzati vengono eseguite a livello di linguaggio Java utilizzando l'oggetto Locale e i diversi metodi di formattazione per i tipi di dati Date, Calendar e Number. Nei rari casi in cui il driver JDBC deve passare dati dipendenti dalle impostazioni locali in un formato localizzato, viene utilizzato il formattatore appropriato con le impostazioni locali JVM predefinite.

Parametri non Unicode

Per consentire di migliorare le prestazioni, è possibile passare parametri String a SQL Server in formato non Unicode impostando la proprietà della stringa di connessione sendStringParametersAsUnicode. L'impostazione predefinita per sendStringParametersAsUnicode è "true", che indica che i parametri String vengono inviati come Unicode. Se la proprietà sendStringParametersAsUnicode è impostata su "false", tutti i parametri String nella connessione in questione vengono inviati al server con le regole di confronto predefinite del database.

Vedere anche

Mostra: