DB2中的ERRORCODE = -4461,SQLSTATE = 42815

use*_*266 13 java sql db2

我已经从模式A(表x)导出了一些数据XML,我正在读取XML并将数据插入模式B(表y).它说,在20000条记录之后插入数据

com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][t4][20111][11366][3.63.75] The value of a host variable is too large for its corresponding use.  Host variable=1. ERRORCODE=-4461, SQLSTATE=42815
com.ibm.db2.jcc.am.BatchUpdateException: [jcc][t4][102][10040][3.63.75] Batch failure.
Run Code Online (Sandbox Code Playgroud)

批次已提交,但批次的单个成员至少发生了一个例外.

我比较了表x和表y中相应列的数据类型,它们是相同的.源和目标中的标识(自动增量)col和LONG VARCHAR是BIGINT.

请帮助解决这个问题.

小智 3

我曾经遇到过类似的问题。我解决了这个问题,将队列大小添加到 XML 中。就我而言,是这样的:

<task>
   <name>Ventas MCC</name>
   <queueSize>100</queueSize>
   <queueNames>trashQueue</queueNames>
   <queryTasks>
     <queryTask>...</queryTask>
   </queryTasks>
</task>
Run Code Online (Sandbox Code Playgroud)

使用queueSize 可以批量启动查询。