Condividi tramite


Gestione della conversione dei dati tra tabelle codici client/server

Data aggiornamento: 17 luglio 2006

In questo argomento viene illustrato come mantenere l'integrità dei dati di tipo carattere quando questi non vengono archiviati nel database utilizzando tipi di dati Unicode e quando anche le applicazioni sul lato client che interagiscono con i dati non supportano il formato Unicode. In questa situazione, la tabella codici dell'archiviazione dei dati e quella nell'applicazione sul lato client devono essere identiche. Se le tabelle codici differiscono, la conversione eseguita tra il client e il server può provocare la perdita di alcuni caratteri.

La disattivazione della funzionalità di conversione automatica del driver ODBC di SQL Server per inserire dati definiti da una tabella codici diversa dal server non è supportata. Anche se disattivata, inoltre, questa funzionalità non impedisce la conversione delle tabelle codici per gli eventi del linguaggio SQL. Di conseguenza, se le tabelle codici del client e del database non corrispondono, la conversione delle tabelle verrà in genere applicata a qualsiasi stringa di caratteri non Unicode inviata al o dal server.

Se possibile, è consigliabile evitare questa situazione. La procedura più appropriata per un server con una tabella codici specifica consiste nel comunicare solo con i client che utilizzano la stessa tabella codici. Una seconda procedura efficace consiste nell'utilizzare un'altra tabella codici in cui sia incluso un set di caratteri molto simile. Nelle tabelle codici 1252 (Latin1), ad esempio, e 850 (Latin1 multilingue) è possibile archiviare quasi lo stesso set di caratteri. Di conseguenza, la maggior parte dei caratteri inclusi nelle due tabelle codici può essere convertita da una tabella codici all'altra senza subire alcuna perdita di dati.

Se è necessario comunicare con client che utilizzano tabelle codici diverse, la soluzione supportata consiste nell'archiviare i dati in colonne Unicode. Se nessuna di queste opzioni è disponibile, un'altra alternativa è rappresentata dall'archiviazione dei dati in colonne binarie utilizzando il tipo di dati binary, varbinary o varbinary(max). I dati binari, tuttavia, possono essere ordinati e confrontati solo in ordine binario. Questo aspetto li rende meno flessibili dei dati di tipo carattere.

Vedere anche

Concetti

Gestione della conversione dei dati tra un server Unicode e un client non Unicode
Gestione della conversione dei dati tra schemi di codifica Unicode

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Sostituzione del riferimento al tipo di dati image con il tipo di dati varbinary(max).