CLOB值太大而无法插入DB2表中

时间:2012-02-07 20:38:05

标签: java oracle db2 clob sqlj

我有一个java.sql.Clob对象,我从Oracle查询填充,然后我必须在DB2表(也是Clob列)中插入此字段。因此,在我的sqlj类中,我创建了一个java.sql.Clob类型,并使用Oracle select(也是一个java.sql.Clob)的结果设置该值。我试图插入的Clob的长度约为2.5Mb或dbms_lob.getlength返回2500012.

当SQLJ执行时,它会抛出异常:

COM.ibm.db2.jdbc.DB2Exception:[IBM] [CLI驱动程序] [DB2] SQL0433N值“”太长。 SQLSTATE = 22001

我正在使用的DB2版本是 数据库服务器= DB2 OS / 390 8.1.0

Oracle版本是 Oracle数据库10g企业版10.2.0.5.0版 - 64位

你知道为什么会抛出这个错误吗?我正在寻找IBM文档,并且假设使用java.sql.Clob对象插入DB2 clob列...

  

“CLOB列的输入参数对于CLOB列的IN参数,   或者用于输入CLOB列的INOUT参数,您可以   使用以下技术之一:使用java.sql.Clob输入   变量,它与CLOB列完全匹配:   cstmt.setClob(parmIndex,clobData); ......“

1 个答案:

答案 0 :(得分:1)

增加数据库中CLOB列的大小。 检查此链接以获取最大clob列大小

http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0001029.htm