Вставка строкового значения Mybatis в oracle CLOBJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Вставка строкового значения Mybatis в oracle CLOB

Сообщение Anonymous »

Я пытаюсь вставить список записей в базу данных Oracle с помощью mybatis orm.
Ниже выдается исключение при вставке в базу данных.


Ошибка обновления базы данных. Причина: java.sql.SQLException: ORA-01461: можно связать значение LONG только для вставки в столбец LONG


У меня есть запрос написано для вставки данных.

Код: Выделить всё

INSERT INTO
CUS_ACTION_HISTORY_T(SEQ_NO, GLOBAL_ID, REQUEST_ID, CUS_ACTION_CODE, CUS_REQUEST_TIME, ENTITY_TYPE, ENTITY_KEY, PARENT_ENTITY_KEY,
DELTA_CHANGE, TOTAL_PROCESSING_TIME, TOTAL_SERVER_PROCESSING_TIME, USER_AN, UPDATE_MODE, TOTAL_TIME)
select  A.*  from(

SELECT
#{history.sequenceNo} as SEQ_NO,
#{history.globalId} as GLOBAL_ID,
#{history.requestId} as REQUEST_ID,
#{history.cusActionCode} as CUS_ACTION_CODE,
#{history.cusRequestTime} as CUS_REQUEST_TIME,
#{history.entityType} as ENTITY_TYPE,
#{history.entityKey} as ENTITY_KEY,
#{history.parentEntityKey} as PARENT_ENTITY_KEY,
#{history.deltaChange, jdbcType=CLOB},
#{history.totalProcessingTime} as TOTAL_PROCESSING_TIME,
#{history.totalServerProcessingTime} as TOTAL_SERVER_PROCESSING_TIME,
#{history.userAn} as USER_AN,
#{history.updateMode} as UPDATE_MODE,
#{history.totalTime} as TOTAL_TIME
FROM DUAL
)A


Но когда я изменяю код вставки, как показано ниже, он вставляет свойство, но для завершения требуется около 23 секунд. работа.

Код: Выделить всё

BEGIN

INSERT INTO
CUS_ACTION_HISTORY_T(SEQ_NO, GLOBAL_ID, REQUEST_ID, CUS_ACTION_CODE, CUS_REQUEST_TIME, ENTITY_TYPE, ENTITY_KEY, PARENT_ENTITY_KEY,
DELTA_CHANGE, TOTAL_PROCESSING_TIME, TOTAL_SERVER_PROCESSING_TIME, USER_AN, UPDATE_MODE, TOTAL_TIME)
VALUES(
#{history.sequenceNo},
#{history.globalId},
#{history.requestId},
#{history.cusActionCode},
#{history.cusRequestTime},
#{history.entityType},
#{history.entityKey},
#{history.parentEntityKey},
#{history.deltaChange, jdbcType=CLOB},
#{history.totalProcessingTime},
#{history.totalServerProcessingTime},
#{history.userAn},
#{history.updateMode},
#{history.totalTime});

END;
Я попытался удалить столбец CLOB из первого и второго запроса, первый запрос занял около 8 секунд, а второй запрос занял около 20 секунд, возникла огромная проблема с производительностью. в данном случае.

Пожалуйста, посоветуйте.

Подробнее здесь: https://stackoverflow.com/questions/500 ... racle-clob
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»