关于was应用update语句报错优化?

在我们was应用上有个update语句报错如下:
DB2 SQL error: SQLCODE: -727, SQLSTATE: 56098, SQLERRMC: 2;-104;42601;END-OF-STATEMENT|=? ,PROVINCE=? where|<search_condition>
com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC: );) from (select from;<table_expr>
我们was版本是:6.0.2.48,服务器系统版本是:windows 2003
db2版本是:8.2,服务器系统版本是:5.3
我们数据库内存,磁盘,cpu使用率良好。
我们拟处理方案:调高PCKCACHESZ参数,我们的依据是Package Cache Hit Ratio (PCHR)低于100,为93。
因为缓冲包允许数据库管理器减少内部开销,因为它消除了在重新装载一个包时访问系统编目的需要;或者,对于动态 SQL,消除了重新编译的需要。
请问各位大神,我们这么处理是否合理,有无更好的处理思路,方案或建议!谢谢各位垂阅、指教!

参与17

3同行回答

db2china2db2china2技术经理DB2咨询服务
感觉应该是你的动态SQL有问题,能把要编译/执行的SQL完整地贴出来看看吗?SQLCODE: -727,SQLERRMC: 2,只是说明在:隐式预编译高速缓存的动态 SQL 语句。最终原因是:-104;42601, 即要编译的SQL语句的语法错误。 建议检查要编译/执行的SQL语句。尝试在WAS中写日志时把完整的SQL...显示全部

感觉应该是你的动态SQL有问题,能把要编译/执行的SQL完整地贴出来看看吗?
SQLCODE: -727,SQLERRMC: 2,只是说明在:隐式预编译高速缓存的动态 SQL 语句。

最终原因是:-104;42601, 即要编译的SQL语句的语法错误。 建议检查要编译/执行的SQL语句。尝试在WAS中写日志时把完整的SQL写到日志里。

收起
IT咨询服务 · 2018-05-22
浏览3324
  • update TB_ZC_NZ_BASEINFO set PRIPID=? ,REGNO=? ,ORIREGNO=? ,ENTNAME=? ,GRPSHFORM=? ,ENTTYPE=? ,REGCAP=? ,INDUSTRYPHY=? ,INDUSTRYCO=? ,BUSINESSSIGN=? ,ESTDATE=? ,APPRDATE=? ,REGORG=? ,POSTALCODE=? ,TEL=? ,ISELELICENCE=? ,EMAIL=? ,ABULTEMCO=? ,CBULTEM=? ,OPSCOPE=? ,COOPSCOPE=? ,COOPSCOPENAME=? ,OPFROM=? ,OPTO=? ,LOCALADM=? ,COMFORM=? ,ISCITY=? ,PARNUM=? ,PARFORM=? ,EXENUM=? ,EMPNUM=? ,RECCAP=? ,INSFORM=? ,LICCOPYNUM=? ,CITY=? ,DISTRICT=? ,STREET=? ,DOORPLATE=? ,ROOM=? ,DOM=? ,DOMDISTRICT=? ,DOMPRORIGHT=? ,HYPOTAXIS=? ,DEPINCHA=? ,DEPINCHATYPE=? ,DEPINCHABLICTYPE=? ,DEPINCHABLICNO=? ,OPFORM=? ,PTBUSSCOPE=? ,MANAGEDEPT=? ,CASENO=? ,REFORMDATE=? ,BEENTTYPE=? ,FOREIGNERCOUNT=? ,IFPRIVATEENT=? ,MONEYCONAM=? ,NAMEID=? ,ENTSTATE=? ,UPDATETIME=? ,SYNSIGN=? ,STREETCODE=? ,DOORPLATECODE=? ,REMARK=? ,BBUSINESS=? ,BOFFICE=? ,ORGANIZATION=? ,NEWORGANIZATION=? ,CALCULATIONMETHOD=? ,UNISCID=? ,PROVINCE=? where
    2018-05-22
  • where 后面怎么没有实际的条件呢?
    2018-05-22
anikikonganikikong课题专家组数据库运维工程师中国民生银行
where语句是最后拼出来的吧? 看起来少条件语法不对。 这种情况要拼语句,结尾用where 1=1 再拼比较好。显示全部

where语句是最后拼出来的吧? 看起来少条件语法不对。 这种情况要拼语句,结尾用where 1=1 再拼比较好。

收起
银行 · 2018-05-25
DB-TrendSetterDB-TrendSetter联盟成员数据库架构师公司
SQL语法有问题,建议排查显示全部

SQL语法有问题,建议排查

收起
电信运营商 · 2018-05-25

提问者

liujiacai
其它广州大厦
擅长领域: 数据库云计算服务器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-05-22
  • 关注会员:4 人
  • 问题浏览:6482
  • 最近回答:2018-05-25
  • X社区推广