Ошибка передачи большого значения типа SYS.XMLTYPE

Обсуждение возникших проблем, предложений и ошибок ODAC компонентов

Ответить
zevs
Сообщения: 1
Зарегистрирован: Ср 31 июл 2019 13:01

Ошибка передачи большого значения типа SYS.XMLTYPE

Сообщение zevs » Ср 31 июл 2019 13:18

Возникла проблема с передачей XML-файлов в табличку с полем SYS.XMLTYPE-типа. Файлы прекрасно заливаются, но только если размер XML-содержимого не превышает 4000 символов. При превышении, в табличку вставляются строки с пустым значение в SYS.XMLTYPE-поле.

Используется RAD Studio XE3 + ODAC 9.
Для INSERT-а в табличку используется процедура, написанная в Оракле. Без участия RAD STUDIO процедурка вставляет данные корректно (любых размеров). Но вот при попытке работы в RAD Studio с использованием TOraStoredProc размер начинает играть значение. Полагаю, что всё дело в настройке компонента и его параметров.
Ранее подобную ситуацию удавалось решить путём включения параметра TemporaryLobUpdate := True. Сейчас это не помогает.

Пример кода:
//
dm002.P004.Params.ParamByName ( 'PI_XML_FULL' ).AsXML.OCISvcCtx := dm002.C001.OCISvcCtx ;
dm002.P004.Params.ParamByName ( 'PI_XML_FULL' ).ParamType := ptInputOutput ;
dm002.P004.Params.ParamByName ( 'PI_XML_FULL' ).AsXML.AsString := XML_BIDS.XML.Text ;
//
Помогите, пожалуйста, найти решение проблемы!
Вложения
MIAsIMP004_20190731_143731.rar
(178.45 КБ) 15 скачиваний

MaximG
Devart Team
Сообщения: 99
Зарегистрирован: Пн 06 июл 2015 12:51

Re: Ошибка передачи большого значения типа SYS.XMLTYPE

Сообщение MaximG » Пн 05 авг 2019 06:54

Согласно Вашей информации, направленной в нашу службу техподдержки, Вы нашли необходимое решение. Обращайтесь к нам по любым вопросам, связанным с использованием наших продуктов.

Ответить