在DB2 10.5中使用DB2 load命令加载数据时出错

时间:2016-01-08 15:14:55

标签: java database db2 db2-luw interrupted-exception

我的应用程序中有一个IBM DB2数据库。我们有一个每月Java批处理过程,它使用

在表中加载数据
  

"加载替换"

sql命令。在此批处理过程中,每月将更新数百万条记录 批处理正常运行, DB2版本9.5 没有任何问题。最近,数据库已更新为 DB2 V10.5 。升级后,我们在批处理过程中面临以下问题。 (代码没有变化)

  1. 在流程中间发生中断异常。
  2. com.ibm.db2.jcc.am.SqlException:DB2 SQL错误:SQLCODE = -952,SQLSTATE = 57014,SQLERRMC = null,DRIVER = 3.69.24

    1. 加载数据的数据在一段时间后也会变慢。首先,数据加载大约50,000行/秒。经过一段时间后,它以1000行/秒的速度加载。

    2. 随着负载的开始,CPU利用率也逐渐增加。

    3. 我们使用Java JDBC连接从输入表中选择数据。然后我们处理数据并将数据存储在临时文件中。从文件中我们使用load命令(从AIX服务器执行的Load命令)在输出表中插入数据。 DB2 10.5中是否存在升级问题或增强,但不支持此问题。将使用游标解决此问题。我也不确定新版本的Db2是否存在任何连接问题 任何帮助都非常感谢。请评论所需的任何其他信息。

1 个答案:

答案 0 :(得分:3)

错误是由Insufficient timeout value引起的。处理大量数据时,应禁用超时值。

您可以使用

执行此操作
  

Statement.setQueryTimeout()

官方解决方案是IBM site here

我希望你能享受编码!祝你有美好的一天!