新 Pentaho:“=10=”:Ola 00933:
newbe Pentaho: java.sql.SQLSyntaxErrorException: 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
我已经搜索过了,但找不到合适的答案。
嘘!!!
输入中只能有一个语句table。
嗯,你可以有更多,前提是它们之间用“;”隔开。但是,只有最后一个会在输出中产生行。 (此功能用于临时 tables 或在最后一条语句上执行的过程)。
如果您想要一个并集,并且不想在 sql 中执行它,则进行两个 table 输入步骤并将这两个步骤放在同一个 PDI 步骤中。如果元数据(列名、顺序和类型)不相同,您将收到错误消息。
我知道这个错误有一些答案。我知道这是一个语法错误,但无法修复它!! 我 运行 在 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
我已经搜索过了,但找不到合适的答案。 嘘!!!
输入中只能有一个语句table。
嗯,你可以有更多,前提是它们之间用“;”隔开。但是,只有最后一个会在输出中产生行。 (此功能用于临时 tables 或在最后一条语句上执行的过程)。
如果您想要一个并集,并且不想在 sql 中执行它,则进行两个 table 输入步骤并将这两个步骤放在同一个 PDI 步骤中。如果元数据(列名、顺序和类型)不相同,您将收到错误消息。