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

Я знаю, что на эту ошибку есть ответы. Я знаю, что это синтаксическая ошибка, но не могу ее исправить !! Я запускаю эти команды в преобразовании Пентахо. Они переходят из одной БД в другую.

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

Я уже искал, но не могу найти правильный ответ. СПАСИБО !!!

Подскажите, пожалуйста, какая синтаксическая ошибка?

AlainD 26.09.2018 17:09

@AlainD java.sql.SQLSyntaxErrorException: ORA-00933: команда SQL некорректно завершилась на oracle.jdbc.driver.T4CTTIoer.processError (T4CTTIoer.java:450‌) в oracle.jdbc.driver.T4CTTIoer.javaError (T4CTTIoer.processr 399‌) в oracle.jdbc.driver.T4C8Oall.processError (T4C8Oall.java:1059) в oracle.jdbc.driver.T4CTTIfun.receive (T4CTTIfun.java:522) в oracle.jdbc.driver.T4CTPCTI (. java: 257) в oracle.jdbc.driver.T4C8Oall.doOALL (T4C8Oall.java:587) в oracle.jdbc.driver.T4CStatement.doOall8 (T4CStatement.java:21‌ 0) в oracle.jdbc.driver.doOStallStall (Т

Nana Repetto 26.09.2018 17:11

Вы тоже пытались сбросить SQL в студии Oracle? Если мы это сделаем, у нас будет много синтаксических ошибок из-за того, что таблицы неизвестны.

AlainD 26.09.2018 17:11

@AlainD НЕТ, но клиент недоступен, поэтому у меня нет доступа к de DB .. если ошибка в названии полей, она будет решена в другой день ..

Nana Repetto 26.09.2018 17:15
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
170
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во входной таблице может быть только один оператор.

Что ж, вы можете иметь больше, при условии, что они разделены знаком «;». Однако только последний из них будет создавать строки на выходе. (Эта функция предназначена для того, чтобы временные таблицы или процедуры выполнялись в последнем операторе).

Если вы хотите объединение и не хотите делать это в sql, сделайте два шага ввода таблицы и отбросьте эти два на одном шаге PDI. Вы получите сообщение об ошибке, если метаданные (имена столбцов, порядок и типы) не совпадают.

Спасибо я попробую

Nana Repetto 26.09.2018 17:26

Другие вопросы по теме