Как избежать спецсимволов в сценарии - PullRequest
0 голосов
/ 22 сентября 2018

Пожалуйста, помогите!

Мне нужно вставить строку xml в поле varchar в устаревшей таблице oracle 8i.

Вставка выглядит следующим образом:

       insert into NUC_LEGACY_2_ANAC values (
         SEQ_NUC_LEGACY_2_ANAC.nextval, 
         $sinonimo, 
         'ADT', 
         'CREATE_PATIENT',
         '<CrearActualizarPaciente><sinonimo>'||$sinonimo||'</sinonimo></CrearActualizarPaciente>',
         sysdate,
         null,
         0,
         0,
         null
       );
       commit;

Но Scripttella дает мне эту ошибку:

Тип элемента "CrearActualizarPaciente" должен быть объявлен.Элемент типа "sinonimo" должен быть объявлен.Содержимое типа элемента «script» должно совпадать »(include | dialect | onerror)«

Я понимаю, что scriptella не распознает xml-подобные строки и строки, которые должны быть объединены.

Заранее спасибо!

1 Ответ

0 голосов
/ 09 августа 2019

попробуйте заменить

'<CrearActualizarPaciente><sinonimo>'||$sinonimo||'</sinonimo></CrearActualizarPaciente>',

на

  '&lt; CrearActualizarPaciente> &lt;sinonimo>'||$sinonimo||'&lt;/sinonimo> &lt;/CrearActualizarPaciente>',
...