Compartilhar via


DLLs de conversão

O aplicativo e a fonte de dados geralmente armazenam dados em diferentes conjuntos de caracteres. O ODBC fornece um mecanismo genérico que permite ao driver traduzir dados de um conjunto de caracteres para outro. Ele consiste em uma DLL que implementa as funções de tradução SQLDriverToDataSource e SQLDataSourceToDriver, que são chamadas pelo driver para traduzir todos os dados que fluem entre a fonte de dados e o driver. Essa DLL pode ser gravada pelo desenvolvedor do aplicativo, pelo desenvolvedor do driver ou por terceiros.

A DLL de tradução para uma fonte de dados específica pode ser especificada nas informações do sistema para essa fonte de dados; para obter mais informações, consulte subchaves de especificação da fonte de dados. Ele também pode ser definido em tempo de execução com os atributos de conexão SQL_ATTR_TRANSLATE_DLL e SQL_ATTR_TRANSLATE_OPTION.

A opção de tradução é um valor que só pode ser interpretado por uma DLL de tradução específica. Por exemplo, se a DLL de tradução se traduzir entre diferentes páginas de código, 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á nenhum requisito para que uma DLL de tradução use uma opção de tradução.

Depois que uma DLL de tradução tiver sido especificada, o driver o carregará e os chamará para traduzir todos os dados que fluem entre o aplicativo e a fonte de dados. Isso inclui todas as instruções SQL e parâmetros de caracteres que estão sendo enviados para a fonte de dados, assim como 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 tradução não é carregada até que o aplicativo tenha se conectado à fonte de dados.