Получение ORA-00907: отсутствуют ошибки в правой скобке, но все мои скобки парные

#java #sql #oracle #jdbc #ora-00907

#java #sql #Oracle #jdbc #ora-00907

Вопрос:

У меня есть этот запрос, и он отлично работает при выполнении запроса сам по себе:

 SELECT                                                                                                                                                               
c.factDate,                                                                                                                                                          
c.agentOsLoginId,                                                                                                                                                    
c.person,                                                                                                                                                            
c.systemName,                                                                                                                                                        
c.siteId,                                                                                                                                                            
c.callId,                                                                                                                                                            
c.callType,                                                                                                                                                          
c.agentId,                                                                                                                                                           
c.GMTStartTime,                                                                                                                                                      
c.GMTStopTime,                                                                                                                                                       
c.duration,                                                                                                                                                          
c.evalInitiatedTime,                                                                                                                                                    
      TO_DATE (to_char (from_tz(cast(c.GMTStartTime as timestamp), 'GMT') at time zone 'US/Eastern', 'yyyy-mm-dd HH24:MI:SS'), 'yyyy-mm-dd HH24:MI:SS')  EasternStartTime,     
      TO_DATE (to_char (from_tz(cast(c.GMTStopTime  as timestamp), 'GMT') at time zone 'US/Eastern', 'yyyy-mm-dd HH24:MI:SS'), 'yyyy-mm-dd HH24:MI:SS')  EasternStopTime,      
TRUNC(TO_DATE (to_char (from_tz(cast(c.GMTStartTime as timestamp), 'GMT') at time zone 'US/Eastern', 'yyyy-mm-dd HH24:MI:SS'), 'yyyy-mm-dd HH24:MI:SS')) EasternfactDate       
from m_NPInteraction c                                                                                                                                               
where c.factDate >= trunc( add_months ( sysdate, -3 ), 'MM' )
 

Но когда я добавляю этот запрос в свой код преобразования данных, он выдает ORA-00907.

Вот как это выглядит, когда я помещаю это в код преобразования:

 $class=com.merced.dice.translate.conduits.jdbc.MetaBeanTypeSource
$scope=global

configuration=(creator:/com/merced/dice/Configuration)
metaBeanType=(creator:/com/merced/apps/perform/recordtypes/NPInteractionEvalChunk)

queryBeanFormat="
SELECT                                                                                                                                                               --n
c.factDate,                                                                                                                                                          --n
c.agentOsLoginId,                                                                                                                                                    --n
c.person,                                                                                                                                                            --n
c.systemName,                                                                                                                                                        --n
c.siteId,                                                                                                                                                            --n
c.callId,                                                                                                                                                            --n
c.callType,                                                                                                                                                          --n
c.agentId,                                                                                                                                                           --n
c.GMTStartTime,                                                                                                                                                      --n
c.GMTStopTime,                                                                                                                                                       --n
c.duration,                                                                                                                                                          --n
c.evalInitiatedTime,                                                                                                                                                 --n   
      TO_DATE (to_char (from_tz(cast(c.GMTStartTime as timestamp), 'GMT') at time zone 'US/Eastern', 'yyyy-mm-dd HH24:MI:SS'), 'yyyy-mm-dd HH24:MI:SS')  EasternStartTime,     --n
      TO_DATE (to_char (from_tz(cast(c.GMTStopTime  as timestamp), 'GMT') at time zone 'US/Eastern', 'yyyy-mm-dd HH24:MI:SS'), 'yyyy-mm-dd HH24:MI:SS')  EasternStopTime,      --n
TRUNC(TO_DATE (to_char (from_tz(cast(c.GMTStartTime as timestamp), 'GMT') at time zone 'US/Eastern', 'yyyy-mm-dd HH24:MI:SS'), 'yyyy-mm-dd HH24:MI:SS')) EasternfactDate       --n
from m_NPInteraction c                                                                                                                                               --n
where c.factDate >= trunc( add_months ( sysdate, -3 ), 'MM' )
"
 

Когда он выполнил, он выдает ORA-00907. Чего мне здесь не хватает? Есть ли особенность Oracle, о которой я не знаю? Или у меня есть какая-то синтаксическая ошибка, которая также выдает ORA-00907? Может быть, где-то в предложении WHERE? Я не настолько опытен в Oracle, поэтому буду признателен за любую информацию.

Комментарии:

1. Можете ли вы добавить номер строки в сообщение об ошибке? Было бы очень полезно узнать, с чего начать поиск.

2. Приложение, которое я использую, не предоставляет номер строки.

3. java.sql.SQLSyntaxErrorException: ORA-00907: отсутствует правая скобка rootCause=SQLException #1: Код ошибки: 907 sqlState: 42000 сообщение: ORA-00907: отсутствует правая скобка java.sql.SQLSyntaxErrorException: ORA-00907: отсутствует правая скобка

4. это действительно странно, в нем отсутствует закрывающая скобка, но я не вижу там отсутствующей правой скобки. Мне нужно будет создать пример таблицы и протестировать ваш запрос

5. Это было оно !!. Необходимо удвоить одинарные кавычки.