newbe Pentaho:java.sql.SQLSyntaxErrorException:ORA-00933:

时间:2018-09-26 14:46:13

标签: java mysql pentaho ora-00933

我知道此错误有一些答案。我知道这是语法错误,但无法解决! 我正在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

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

1 个答案:

答案 0 :(得分:1)

输入表中只能有一个语句。

那么,如果它们之间用“;”分隔,则可以有更多。但是,只有最后一个会在输出中产生行。 (此功能可以使临时表或过程在最后一条语句上执行。)

如果您想要一个联合,并且不想在sql中执行,则进行两个表输入步骤,并将这两个步骤放在同一PDI步骤中。如果元数据(列名,顺序和类型)不相同,则会出现错误。enter image description here