Erro SQL1822N quando você executa uma consulta na Data Virtualization
Ao tentar executar uma consulta, você recebe um erro com o código SQL1822N.
Sintomas
Ao executar uma consulta, você recebe uma mensagem de erro com o código SQL1822N e o conteúdo a seguir:
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
Você obtém esta mensagem quando a consulta contém um erro em pelo menos uma das origens de dados envolvidas na execução de consulta
Resolvendo o problema
Para tentar resolver o problema, siga estas etapas.
- Recupere a mensagem de erro completa consultando a visualização do catálogo
LISTREMOTEWARNINGS.- Opção 1 Para recuperar todos os avisos na última hora, use a consulta a seguir.
SELECT NODE_NAME, TSTAMP, CAST(WARNING AS VARCHAR(250)) FROM DVSYS.LISTREMOTEWARNINGS WHERE TIMESTAMPDIFF(8, CURRENT TIMESTAMP - TSTAMP) <= 1 ORDER BY TSTAMP - Opção 2 Para recuperar todos os avisos, use a consulta a seguir.
SELECT * FROM DVSYS.LISTREMOTEWARNINGS;
- Opção 1 Para recuperar todos os avisos na última hora, use a consulta a seguir.
Identificar a causa raiz do problema. A mensagem de erro remoto completa está na coluna "WARNING". Use esta coluna para identificar e corrigir a causa raiz. Se você usou a opção 1 para revisar todos os avisos na última hora, o aviso pode ser truncado devido à especificação CAST. Aumente o tamanho do
varchar()ou remova ocastpara ver a mensagem completa.- Exemplo 1: A mensagem indica que não é possível se conectar à origem de dados remota.
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- Exemplo 2: A mensagem indica que algumas consultas com row_number () over () ou rownumber () over () falham.
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- Exemplo 3: a mensagem indica que algumas consultas falham em uma origem de dados 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.- Exemplo 4: A mensagem indica que a consulta está em uma tabela que possui colunas com o tipo PERIOD em uma origem de dados Teradata .
- Exemplo 5: a mensagem indica que uma fonte de dados remota foi removida da Data Virtualization, mas as tabelas existentes são mantidas quando você tenta criar uma visualização ou acessar as tabelas 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