DDL di traslazione

L'applicazione e l'origine dati spesso archiviano i dati in set di caratteri diversi. ODBC fornisce un meccanismo generico che consente al driver di convertire i dati da un set di caratteri a un altro. È costituito da una DLL che implementa le funzioni di conversione SQLDriverToDataSource e SQLDataSourceToDriver, chiamate dal driver per convertire tutti i flussi di dati tra l'origine dati e il driver. Questa DLL può essere scritta dallo sviluppatore di applicazioni, dallo sviluppatore di driver o da terzi.

La DLL di conversione per una determinata origine dati può essere specificata nelle informazioni sul sistema per tale origine dati; per altre informazioni, vedere Sottochiavi di specifica origine dati. Può anche essere impostata in fase di esecuzione con gli attributi di connessione SQL_ATTR_TRANSLATE_DLL e SQL_ATTR_TRANSLATE_OPTION.

L'opzione di traduzione è un valore che può essere interpretato solo da una DLL di conversione specifica. Ad esempio, se la DLL di conversione viene convertita tra tabelle codici diverse, l'opzione potrebbe assegnare i numeri delle tabelle codici usate dall'applicazione e dall'origine dati. Non è necessario che una DLL di conversione usi un'opzione di conversione.

Dopo aver specificato una DLL di conversione, il driver la carica e la chiama per convertire tutto il flusso di dati tra l'applicazione e l'origine dati. Sono incluse tutte le istruzioni SQL e i parametri di carattere inviati all'origine dati, oltre a tutti i risultati dei caratteri, i metadati dei caratteri, ad esempio i nomi delle colonne e i messaggi di errore recuperati dall'origine dati. I dati di connessione non vengono convertiti, perché la DLL di conversione non viene caricata fino a quando l'applicazione non è stata connessa all'origine dati.