Значение CLOB слишком велико для вставки в таблицу DB2 - PullRequest
1 голос
/ 08 февраля 2012

У меня есть объект java.sql.Clob, который я заполняю из запроса Oracle, а затем мне нужно вставить это поле в таблицу DB2 (также столбец Clob).Итак, в моем классе sqlj я создал тип java.sql.Clob и установил значение с результатом из Oracle select (также java.sql.Clob).Длина Clob, который я пытаюсь вставить, составляет около 2,5 МБ, или 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 Database 10g Enterprise Edition Release 10.2.0.5.0 - 64 бита

У вас есть идеи, почему выдается эта ошибка?Я искал документацию IBM, и предполагается использовать объект java.sql.Clob для вставки в столбец DB2 clob ...

"Входные параметры для столбцов CLOB Для параметров IN для столбцов CLOB,или параметры INOUT, которые используются для ввода в столбцы CLOB, можно использовать один из следующих методов: использовать входную переменную java.sql.Clob, которая точно соответствует столбцу CLOB: cstmt.setClob (parmIndex, clobData);... "

1 Ответ

1 голос
/ 08 февраля 2012

Увеличение размера столбца CLOB в базе данных. Проверьте эту ссылку для максимального размера столбца clob

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

...