Partilhar via


DLLs de tradução

A aplicação e a fonte de dados frequentemente armazenam dados em conjuntos de caracteres diferentes. O ODBC fornece um mecanismo genérico que permite ao driver traduzir dados de um conjunto de caracteres para outro. Consiste numa 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. Esta DLL pode ser escrita pelo desenvolvedor da aplicação, pelo desenvolvedor do driver ou por uma terceira parte.

A DLL de tradução para uma determinada fonte de dados pode ser especificada na informação do sistema para essa fonte de dados; para mais informações, consulte Subchaves de Especificação de Fonte de Dados. Também pode ser definido em tempo de execução com os atributos de ligaçã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 for traduzida entre diferentes páginas de código, a opção pode indicar os números das páginas de código usadas pela aplicação e a fonte de dados. Não é necessário que uma DLL de tradução use uma opção de tradução.

Depois de uma DLL de tradução ser especificada, o driver carrega-a e liga-a para traduzir todos os dados que fluem entre a aplicação e a fonte de dados. Isto inclui todas as instruções SQL e parâmetros de caracteres enviados para a fonte de dados, bem como todos os resultados de caracteres, metadados de caracteres como nomes de colunas e mensagens de erro recuperados da fonte de dados. Os dados de ligação não são traduzidos porque a DLL de tradução só é carregada depois de a aplicação se ter ligado à fonte de dados.