Obtener advertencias y errores de fase

Última actualización: 17 mar 2025
Obtener advertencias y errores de fase

Los mensajes de advertencia y error de la fase de recuperación le ofrecen información adicional sobre los problemas que pueden surgir al recuperar resultados después de ejecutar una consulta por primera vez.

Estos mensajes abarcan una serie de problemas potenciales, como interrupciones de la red, problemas de agotamiento de recursos (como limitaciones de subprocesos y memoria), excepciones SQL y advertencias que se originan en la fuente de datos remota. Las advertencias y errores de la fase de obtención están habilitados de forma predeterminada y puede activarlos y desactivarlos en Habilitación y deshabilitación de advertencias y errores de la fase de obtención en Data Virtualization.

Los mensajes de fase de recuperación se clasifican en advertencias y errores:
  • Advertencia : Cuando se produce una advertencia de fase de recuperación, se le envía un mensaje de advertencia SQL junto con el conjunto de resultados. A pesar de la advertencia, la consulta sigue terminando de recuperar los datos que solicitó.

    En el siguiente ejemplo, la tabla virtualizada NANINFTEST contiene valores no admitidos INF (infinito positivo) y NAN (infinito negativo). El mensaje de advertencia SQL muestra ocho registros seleccionados y la primera aparición de la advertencia de fase de obtención. Las advertencias posteriores no se muestran en el ejemplo.
    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
  • Error : Cuando se produce un error en la fase de obtención, la consulta se detiene y se le envía un mensaje de error. Los datos obtenidos hasta este punto también se muestran. Para averiguar por qué se detuvo la consulta, compruebe el estado SQL vinculado al mensaje de error y busque el código de error en Mensajes SQLSTATE.

    En el siguiente ejemplo, la tabla virtualizada comparison_test2 tiene un código de error de 22008. Este código de error está relacionado con el error: se ha producido un desbordamiento del campo de fecha y hora; por ejemplo, una operación aritmética en una fecha o marca de tiempo tiene un resultado que no está dentro del rango válido de fechas.

    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.