DLLs de conversão
O aplicativo e a fonte de dados geralmente armazenam dados em conjuntos de caracteres distintos. O ODBC oferece um mecanismo genérico que permite que o driver converta dados de um conjunto de caracteres em outro. Ele consiste em uma DLL que implementa as funções de conversão SQLDriverToDataSource e SQLDataSourceToDriver, que são chamadas pelo driver para converter todos os dados que fluem entre a fonte de dados e o driver. O desenvolvedor do aplicativo, o desenvolvedor do driver ou terceiros podem escrever essa DLL.
A DLL de conversão para uma fonte de dados específica pode ser especificada nas informações do sistema para essa fonte de dados. Confira Subchaves de especificação da fonte de dados para obter mais informações. Ela também pode ser definida em tempo de execução com os atributos de conexão SQL_ATTR_TRANSLATE_DLL e SQL_ATTR_TRANSLATE_OPTION.
A opção de conversão é um valor que só pode ser interpretado por uma DLL de conversão específica. Por exemplo, se a DLL de conversão for convertida entre páginas de código diferentes, a opção poderá fornecer os números das páginas de código usadas pelo aplicativo e pela fonte de dados. Não há nenhuma exigência de uma DLL de conversão usar uma opção de conversão.
Depois que uma DLL de conversão for especificada, o driver a carregará e a chamará para converter todos os dados que fluem entre o aplicativo e a fonte de dados. Isso inclui todas as instruções SQL e os parâmetros de caracteres que estão sendo enviados para a fonte de dados e todos os resultados de caracteres, metadados de caracteres, como nomes de coluna, e mensagens de erro recuperadas da fonte de dados. Os dados de conexão não são convertidos, pois a DLL de conversão não é carregada até que o aplicativo se conecte à fonte de dados.