Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Numa arquitetura de gateway, um driver envia pedidos para um gateway que suporta ODBC. O gateway envia os pedidos para um SGBD. Como é o componente que interage com o Gestor de Drivers, o driver formata e devolve argumentos para SQLGetDiagRec.
Por exemplo, se a Oracle baseou um gateway para o Rdb nos Microsoft Open Data Services e se o Rdb não conseguiu encontrar a tabela EMPLOYEE, o gateway pode gerar esta mensagem de diagnóstico:
"[42S02][-1][DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not defined "
"in schema."
Como o erro ocorreu na fonte de dados, o gateway adicionou um prefixo para o identificador da fonte de dados ([Rdb]) à mensagem de diagnóstico. Como o gateway era o componente que interligava com a fonte de dados, adicionava prefixos para o seu fornecedor ([DEC]) e identificador ([ODS Gateway]) à mensagem de diagnóstico. Também adicionava o valor SQLSTATE e o código de erro Rdb ao início da mensagem de diagnóstico. Isto permitia-lhe preservar a semântica da sua própria estrutura de mensagens e ainda fornecer a informação de diagnóstico ODBC ao driver. O driver analisa a informação de erro anexada à declaração de erro pelo gateway.
Como o driver gateway é o componente que interage com o Gestor de Drivers, ele usaria a mensagem de diagnóstico anterior para formatar e devolver os seguintes valores do SQLGetDiagRec:
SQLSTATE: "42S02"
Native Error: -1
Diagnostic Msg: "[DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not "
"defined in schema."