Volver a la versión inglesa de la documentaciónError SQL1822N al ejecutar una consulta en Data Virtualization
Error SQL1822N al ejecutar una consulta en Data Virtualization
Última actualización: 26 nov 2024
Cuando intenta ejecutar una consulta, obtiene un error con el código SQL1822N
.
Síntomas
Cuando ejecuta una consulta, recibe un mensaje de error con el código SQL1822N
y el contenido siguiente.
SQL1822N Unexpected error code "GDB_ERROR" received from data source
"DV-FMP". Associated text and tokens are "Query failed at some sources.
Check remote warnings". SQLSTATE=560BD
Causas
Obtiene este mensaje cuando la consulta contiene un error en al menos uno de los orígenes de datos implicados en la ejecución de la consulta.
Resolución del problema
Para intentar resolver el problema, siga estos pasos.
- Recupere el mensaje de error completo consultando la vista de catálogo de
LISTREMOTEWARNINGS
.- Opción 1 Para recuperar todos los avisos en la última hora, utilice la consulta siguiente.
SELECT NODE_NAME, TSTAMP, CAST(WARNING AS VARCHAR(250)) FROM DVSYS.LISTREMOTEWARNINGS WHERE TIMESTAMPDIFF(8, CURRENT TIMESTAMP - TSTAMP) <= 1 ORDER BY TSTAMP
- Opción 2 Para recuperar todos los avisos, utilice la consulta siguiente.
SELECT * FROM DVSYS.LISTREMOTEWARNINGS;
- Opción 1 Para recuperar todos los avisos en la última hora, utilice la consulta siguiente.
Identifique la causa raíz del problema. El mensaje de error remoto completo está en la columna "WARNING". Utilice esta columna para identificar y corregir la causa raíz. Si ha utilizado la opción 1 para revisar todos los avisos de la última hora, es posible que el aviso se trunque debido a la especificación CAST. Aumente el tamaño de
varchar()
o eliminecast
para ver el mensaje completo.- Ejemplo 1: El mensaje indica que no puede conectarse al origen de datos remoto.
qpendpoint_1:6415 2021-04-27-08.43.59.428000000 RESULT_DS_EXEC_QUERY_ERROR: Query exec failure against Data Source GDB_GTW_TPCDS_CATALOG_RETURNS_DB210001: java.lang.Exception: Unreachable RDBMS in Data Source: GDB_GTW_TPCDS_CATALOG_RETURNS_DB210001
- Ejemplo 2: El mensaje indica que algunas consultas con row_number () over () o rownumber () over () fallan.
fmp_1 2022-06-17-02.49.56.313000000 2022-06-17-02.49.56.313000000 1 RESULT_DS_EXEC_QUERY_ERROR: Origin: 3 node(s), 0/1 sources (0 successful, 0 excluded, 1 failed, 0 missing) Warnings (1) >"GDB_NODE yanlixu_yanlixuiptt8x86_Endpoint1:60009 QUERYING SOURCE Netezza VIA GDB_SUBQ_NETEZ10000: Unable to get physical meta data for table: (SELECT ROW_NUMBER() OVER( ) C0 FROM ""TEST"".""TESTNUMBER"" A0) SUBQ : org.netezza.error.NzSQLException: ERROR: ROW_NUMBER must include ORDER BY specification "-1822: Remote Exception: Origin: 3 node(s), 0/1 sources (0 successful, 0 excluded, 1 failed, 0 missing) Warnings (1) >"GDB_NODE yanlixu_yanlixuiptt8x86_Endpoint1:60009 QUERYING SOURCE Netezza VIA GDB_SUBQ_NETEZ10000: Unable to get physical meta data for table: (SELECT ROW_NUMBER() OVER( ) C0 FROM ""TEST"".""TESTNUMBER"" A0) SUBQ : org.netezza.error.NzSQLException: ERROR: ROW_NUMBER must include ORDER BY specification yanlixu_yanlixuiptt8x86_Endpoint1:60009 2022-06-17-02.49.56.298000000 2022-06-17-02.49.56.298000000 1 RESULT_DS_EXEC_QUERY_ERROR: Query exec failure against Data Source GDB_SUBQ_NETEZ10000: java.lang.Exception: Unable to get physical meta data for table: (SELECT ROW_NUMBER() OVER( ) C0 FROM "TEST"."TESTNUMBER" A0) SUBQ : org.netezza.error.NzSQLException: ERROR: ROW_NUMBER must include ORDER BY specification
- Ejemplo 3: El mensaje indica que algunas consultas fallan en un origen de datos Data Virtualization Manager .
qpendpoint_3:6417 2022-08-31-08.31.55.624000000 2022-08-31-08.31.55.624000000 1 ENGINE_STATEMENT_PREPARE_ERROR_SQL: GDB_SUBQ_DVM10000 Unable to PREPARE statement - (empty result for this data source): Unable to get physical meta data for table: (SELECT A0.C1 C0, A0.C8 C1 FROM DVSQL.CB1A_TSDCV_TESTNUMBER A0) SUBQ : java.sql.SQLException: [DV][JDBC Driver][3.1.202201120442] [DV][JDBC Driver][3.1.202201120442] Unexpected end of input stream java.net.SocketInputStream@30edda80 (read 0 out of an expected 4 bytes), while executing userSql=select * from (SELECT A0.C1 C0, A0.C8 C1 FROM DVSQL.CB1A_TSDCV_TESTNUMBER A0) SUBQ where 0=1 - 'call listrdbc()' to identify the data source.
- Ejemplo 4: El mensaje indica que la consulta se realiza en una tabla que tiene columnas con el tipo PERIOD en un origen de datos Teradata .
- Ejemplo 5: El mensaje indica que se ha eliminado una fuente de datos remota de Data Virtualization, pero las tablas existentes se mantienen cuando se intenta crear una vista o acceder a las tablas remotas.
Failed to get join result.: Unexpected error code "GDB_ERROR" received from data source "DV-FMP". Associated text and tokens are "Query failed at some sources. Check remote warnings".. SQLCODE=-1822, SQLSTATE=560BD, DRIVER=4.32.28