2009-08-02 2 views
3

Я пытаюсь преобразовать некоторые XML-данные, поступающие из CLOB в столбец XMLType.Ошибка при преобразовании XML из столбца CLOB в столбец XMLType

В XML есть некоторые подчеркнутые символы как значения (документы написаны на французском языке).

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

insert into mytable (id, xmldata) values (p_id, xmltype(p_xmldata)); 

p_id и p_xmldata переменные ранее извлеченные из исходной таблицы.

Я думаю, что французские символы не позволяют XMLType работать правильно. Или, может быть, неправильные XML-теги? Проблема в том, что таблица содержит документы 3k + XML и только 2 преобразуются в столбец XMLType.


Update: Эти ошибки, которые я получаю, когда я пытаюсь просто:

select xmltype(xmldata) from mytable 

ORA-06502: PL/SQL: numeric or value error 
ORA-06512: at "SYS.XMLTYPE", line 254 
ORA-06512: at line 1 

ответ

7

Я использовал метод createxml и теперь он работает отлично

insert into mytable (id, xmldata) values (p_id, xmltype.createxml(p_xmldata)); 
+0

Спасибо, вы спасли мой день!!. У меня была такая же ошибка. –

+0

Спасибо большое. Это незначительное изменение оказалось для меня очень полезным. – Rohan