在我们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,消除了重新编译的需要。
请问各位大神,我们这么处理是否合理,有无更好的处理思路,方案或建议!谢谢各位垂阅、指教!
感觉应该是你的动态SQL有问题,能把要编译/执行的SQL完整地贴出来看看吗?
SQLCODE: -727,SQLERRMC: 2,只是说明在:隐式预编译高速缓存的动态 SQL 语句。
最终原因是:-104;42601, 即要编译的SQL语句的语法错误。 建议检查要编译/执行的SQL语句。尝试在WAS中写日志时把完整的SQL写到日志里。
收起