新的 Pentaho: java.sql.SQLSyntaxErrorException:

我知道这个错误有一些答案。我知道这是一个语法错误,但无法修复它!!我在 Pentaho 转换中运行这些命令。它们从一个数据库到另一个数据库。


SELECT emp, codlug, nombre, pais, pcia, codp  FROM CONDOR.TCODLUG 

order by codlug desc



select *

FROM CONDOR.TCABTRAN o138195,

      CONDOR.TCRES o138205,

      CONDOR.TCCTES o138234,

      CONDOR.TITEMS o138320,

      CONDOR.TPDC o138351,

      CONDOR.TPROV o138355,

      CONDORBI.VRENTRAN o138514,

      CONDOR.TROCCONT o138537

WHERE ( (o138195.EMP = o138514.EMP AND o138195.CODTRAN = o138514.CODTRAN AND o138195.NUMTRAN = o138514.NUMTRAN)

   and (o138205.EMP(+) = o138514.EMP AND o138205.UNORG1(+) = o138514.UNORG1 AND o138205.UNORG2(+) = o138514.UNORG2 AND o138205.UNORG3(+) = o138514.UNORG3)

   and (o138234.EMP(+) = o138514.EMP AND o138234.CODCC(+) = o138514.CODCC AND o138234.NUMCC(+) = o138514.NUMCC)

   and (o138320.CODITEM(+) = o138537.CODITEM)

   and (o138351.CTACONT = o138514.CTACONT)

   and (o138355.EMP(+) = o138537.EMP AND o138355.NUMPROV(+) = o138537.NUMPROV)

   and (o138537.EMP(+) = o138514.EMP AND o138537.CODTRAN(+) = o138514.CODTRAN AND o138537.NUMTRAN(+) = o138514.NUMTRAN AND o138537.RENGLON(+) = o138514.RENGLON))

   AND ((DECODE(o138351.ACRES,1,'C.Res',NULL)) = 'C.Res')

 --  AND (o138514.CTACONT BETWEEN :"Cuenta Desde" AND :"Cuenta Hasta")

 --  AND (o138514.FECREG BETWEEN :"Desde" AND :"Hasta")

 --  AND (o138514.EMP = :"Empresa")

当我运行转换时,它会引发语法错误:


java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended


我已经搜索过,但找不到正确的答案。谢谢!!!


炎炎设计
浏览 165回答 1
1回答

喵喔喔

输入表中只能有一个语句。好吧,您可以拥有更多,前提是它们以“;”分隔。但是,只有最后一个会在输出中生成行。(此功能用于制作要在最后一条语句上执行的临时表或过程)。如果你想要一个联合,而不想在 sql 中做,那么做两个表输入步骤并将这两个步骤放在同一个 PDI 步骤中。如果元数据(列名称、顺序和类型)不同,您将收到错误消息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java