Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 LPX-00217: invalid character при создании XMLType из CLOB  [new]
qy
Member

Откуда:
Сообщений: 24
Есть тестовый блок, сохранен в файл testblock.sql, следующего содержания:

set serveroutput on
DECLARE
l_xml XMLType;
l_clob CLOB := '<?xml version="1.0" encoding="ISO-8859-5"?><root>&#x421;&#x430;&#x43d;&#x43a;&#x442;-&#x41f;&#x435;&#x442;&#x435;&#x440;&#x431;&#x443;&#x440;&#x433;</root>';
BEGIN
 l_xml := XMLType(l_clob);
 dbms_output.put_line(l_xml.extract('/root/text()').getStringVal);
END;
/
exit


+ Результат запуска в БД версии 9.2.0.8:
> sqlplus user/pwd@irdev9 @testblock.sql

SQL*Plus: Release 9.2.0.8.0 - Production on Fri Apr 20 12:03:24 2012

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production

Санкт-Петербург

PL/SQL procedure successfully completed.

Disconnected from Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production



+ Результат запуска в БД версии 11.2.0.3:
> sqlplus user/pwd@irdev11 @testblock.sql

SQL*Plus: Release 9.2.0.8.0 - Production on Fri Apr 20 12:04:38 2012

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning option

DECLARE
*
ERROR at line 1:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00217: invalid character 1057 (U+0421)
Error at line 1
ORA-06512: at "SYS.XMLTYPE", line 272
ORA-06512: at line 6


Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning option


Получается, xml-парсер в 9.2 понимал символы, представленные в виде кодов Unicode, а в 11.2 перестал?
Допустим, нет возможности переделать xml так, чтобы он содержал русские символы в их "естественном виде" в заданной кодировке. Можно ли как-то добиться, чтобы в 11.2 такой XML парсился так же, как в 9.2 ?

Если это имеет значение, то:
  • БД 9.2 работает на Solaris SunOS 5.9 sparc
  • БД 11.2 работает на Linux 2.6.32-131.12.1.el6.i686
  • 20 апр 12, 17:42    [12447667]     Ответить | Цитировать Сообщить модератору
     Re: LPX-00217: invalid character при создании XMLType из CLOB  [new]
    s u
    Member

    Откуда:
    Сообщений: 741
    парсер переписали, читайте Bug 12314601
    20 апр 12, 21:15    [12448528]     Ответить | Цитировать Сообщить модератору
    Все форумы / Oracle Ответить