无效的SQL语法CLI0118E

无效的SQL语法CLI0118E,sql,db2,driver,Sql,Db2,Driver,我正在尝试执行下面的查询,并得到无效的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_l

我正在尝试执行下面的查询,并得到无效的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

如果要对存储过程执行此操作,请尝试以下操作:删除新行字符并按分隔参数 空格
或者尝试升级……

如果您尝试此查询,会更好吗

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

这是一个从应用程序调用的查询,而不是作为存储过程调用。请您解释一下,删除新行字符并用空格分隔参数。关闭查询编辑器,然后重新打开编辑器,然后尝试执行。我关闭了rapid sql并在新的查询编辑器中重新打开并执行,但仍然存在相同的错误。在系统中使用防病毒软件进行操作时,有时会发生这种情况,尝试更新您的驱动程序。上述查询中是否有任何错误?直到几天前它还可以正常工作。您的subselect和dt_lst_updt>=(subselect)必须返回一行,我认为现在不是这样。