Avisos e erros da fase de busca

As mensagens de aviso e de erro da fase de busca fornecem informações adicionais sobre os problemas que podem ocorrer quando você recupera resultados após a primeira execução de uma consulta.

Essas mensagens abrangem uma série de possíveis problemas, como interrupções na rede, problemas de esgotamento de recursos (como restrições de thread e memória), exceções de SQL e avisos originados da fonte de dados remota. Os avisos e erros da fase de busca são ativados por padrão e você pode ativá-los e desativá-los em Ativação e desativação de avisos e erros da fase de busca em Data Virtualization.

As mensagens da fase de busca são categorizadas em avisos e erros:
  • Aviso : Quando ocorre um aviso da fase de busca, uma mensagem de aviso do SQL, juntamente com o conjunto de resultados, é enviada a você. Apesar do aviso, a consulta ainda termina de buscar os dados que você solicitou.

    No exemplo a seguir, a tabela virtualizada NANINFTEST contém valores não suportados INF (infinito positivo) e NAN (infinito negativo). A mensagem de aviso do SQL exibe oito registros selecionados e a primeira ocorrência do aviso da fase de busca. Os avisos subsequentes não são mostrados no exemplo.
    db2 "select *  from admin.,NANINFTEST". 
    
    C1	C2
    -----   ---------------------
    А	+1.12300000000000E+000
    B	-
    SQL1829W The federated server received the warning message "FETCH_WARN" from the data source "DV-FMP". The associated text and tokens are "The resulting value is outside the range for the dat". SQLSTATE=01680
    C	-
    D	+1.12300000000000E+000
    A	+1.12300000000000E+000
    B	-
    C	-
    D	+1.12300000000000E+000
  • Erro : Quando ocorre um erro na fase de busca, a consulta é interrompida e uma mensagem de erro é enviada de volta para você. Os dados obtidos até esse ponto também são exibidos. Para descobrir por que sua consulta foi interrompida, verifique o estado do SQL vinculado à mensagem de erro e procure o código de erro em SQLSTATE Messages.

    No exemplo a seguir, a tabela virtualizada comparison_test2 tem um código de erro de 22008. Esse código de erro está vinculado ao erro: Ocorreu um estouro no campo Datetime; por exemplo, uma operação aritmética em uma data ou registro de data e hora tem um resultado que não está dentro do intervalo válido de datas.

    db2 "select date(i) from admin.comparison_test2;"
    
    1
    SQL1822N Unexpected error code "FETCH_ERROR" received from data source "DV-FMP". Associated text and tokens are "Query fetch aborted: REMOTE_SQL_STATE: 22008". SQLSTATE=560BD
    DB20000I The TERMINATE command completed successfully.