DLL de translation
L’application et la source de données stockent souvent des données dans différents jeux de caractères. ODBC fournit un mécanisme générique qui permet au pilote de traduire des données d’un jeu de caractères vers un autre. Il se compose d’une DLL qui implémente les fonctions de traduction SQLDriverToDataSource et SQLDataSourceToDriver, appelées par le pilote pour traduire toutes les données qui circulent entre la source de données et le pilote. Cette DLL peut être écrite par le développeur d’applications, le développeur de pilotes ou un tiers.
La DLL de traduction d’une source de données particulière peut être spécifiée dans les informations système de cette source de données ; pour plus d’informations, consultez les sous-clés de spécification de source de données. Il peut également être défini au moment de l’exécution avec les attributs de connexion SQL_ATTR_TRANSLATE_DLL et SQL_ATTR_TRANSLATE_OPTION.
L’option de traduction est une valeur qui peut être interprétée uniquement par une DLL de traduction particulière. Par exemple, si la DLL de traduction se traduit entre différentes pages de code, l’option peut donner le nombre de pages de code utilisées par l’application et la source de données. Il n’est pas nécessaire qu’une DLL de traduction utilise une option de traduction.
Une fois qu’une DLL de traduction a été spécifiée, le pilote le charge et l’appelle pour traduire toutes les données qui circulent entre l’application et la source de données. Cela inclut toutes les instructions SQL et les paramètres de caractère envoyés à la source de données, ainsi que tous les résultats de caractères, les métadonnées de caractères telles que les noms de colonnes et les messages d’erreur récupérés à partir de la source de données. les données d’Connecter ion ne sont pas traduites, car la DLL de traduction n’est pas chargée tant que l’application n’est pas connectée à la source de données.