2012-02-07 145 views
1

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

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

COM.ibm.db2.jdbc。 DB2Exception:[IBM] [CLI Driver] [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列输入参数对于IN参数CLOB列, 或INOUT用于输入CLOB列的参数,您可以使用以下技术之一: 变量,与CLOB列完全匹配: cstmt.setClob(parmIndex,clobData) ; ...“

回答