1

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

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

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

我使用的 DB2 版本是 Database server = DB2 OS/390 8.1.0

Oracle 版本是 Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit

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

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

4

1 回答 1

1

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

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

于 2012-02-07T21:10:03.843 回答