Недопустимый синтаксис SQL CLI0118E

Я пытаюсь выполнить следующий запрос и получаю недопустимую синтаксическую ошибку SQL
. [IBM] [драйвер CLI] CLI0118E недопустимый синтаксис SQL. SQLSTATE=37000 (37000,-99999). Это как-то связано с обновлением драйверов? Некоторое время назад это работало нормально. Пожалуйста совет. Спасибо заранее.

    select a.name_task as nameTask, a.cd_sts as cdSts, a.desc_err_msg as   
               statusDesc
             from task_log a,(
                select id_bus_procss, name_task , id_run,  
            max(dt_lst_updt) as dt_lst_updt  from task_log
                 where id_run = '1'
                 and id_bus_procss = '14'
                 and name_task in ({0})
                 and dt_lst_updt >= (
        select dt_evnt_sts from 
                            sf_evntflow_sts 
                         where id_run = '1' and   
                  id_evntflow ='15' 

                     and  cd_evnt_sts in (''CLN'',''RTY'' ) 
                         )
                 group by id_bus_procss, name_task, id_run) 
                 X
            where a.dt_lst_updt = X.dt_lst_updt

2 ответа

  1. если вы выполняете это на хранимой процедуре , попробуйте это может помочь, удалить новый символ строки и отделить параметры по
    пространства .
    Или иначе попробуйте обновить…….

  2. если вы попробуете этот запрос лучше?

    select a.name_task as nameTask, a.cd_sts as cdSts, a.desc_err_msg as statusDesc
    from task_log a,
    ( select b.id_bus_procss, b.name_task , b.id_run, max(b.dt_lst_updt) as dt_lst_updt 
      from task_log b inner join sf_evntflow_sts c on b.id_run=c.id_run and c.id_evntflow ='15' 
      and c.cd_evnt_sts in (''CLN'',''RTY'' ) and b.dt_lst_updt >=c.dt_evnt_sts
      where b.id_run = '1' and b.id_bus_procss = '14' and b.name_task in ({0})
      group by b.id_bus_procss, b.name_task, b.id_run
    ) as X
    where a.dt_lst_updt = X.dt_lst_updt