我有一个从 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); ..."