我的应用程序中有一个IBM DB2数据库。我们有一个每月Java批处理过程,它使用
在表中加载数据"加载替换"
sql命令。在此批处理过程中,每月将更新数百万条记录 批处理正常运行, DB2版本9.5 没有任何问题。最近,数据库已更新为 DB2 V10.5 。升级后,我们在批处理过程中面临以下问题。 (代码没有变化)
com.ibm.db2.jcc.am.SqlException:DB2 SQL错误:SQLCODE = -952,SQLSTATE = 57014,SQLERRMC = null,DRIVER = 3.69.24
加载数据的数据在一段时间后也会变慢。首先,数据加载大约50,000行/秒。经过一段时间后,它以1000行/秒的速度加载。
随着负载的开始,CPU利用率也逐渐增加。
我们使用Java JDBC连接从输入表中选择数据。然后我们处理数据并将数据存储在临时文件中。从文件中我们使用load命令(从AIX服务器执行的Load命令)在输出表中插入数据。 DB2 10.5中是否存在升级问题或增强,但不支持此问题。将使用游标解决此问题。我也不确定新版本的Db2是否存在任何连接问题 任何帮助都非常感谢。请评论所需的任何其他信息。
答案 0 :(得分:3)
错误是由Insufficient timeout value
引起的。处理大量数据时,应禁用超时值。
您可以使用
执行此操作Statement.setQueryTimeout()
官方解决方案是IBM site here
我希望你能享受编码!祝你有美好的一天!