Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 xmltype.toObject() генерит ora-19031  [new]
Tolka
Member

Откуда:
Сообщений: 199
Хочу натянуть XML на объектный тип

CREATE TYPE t_type AS OBJECT 
(
   x NUMBER,
   y NUMBER
)
/

DECLARE 
   l_obj t_type;
   l_xml XMLTYPE;
BEGIN
   l_xml := XMLTYPE( '<data><x>543</x><y>6534</y></data>');  
   l_xml.toobject(l_obj);       
END;
/         

получаю ora-19031...

версия 10g Rel2

По памяти на одном из старых проектов на 9ке всё работало на ура...А здесь не хочет...

Подскажите, что не так.
5 июл 10, 05:10    [9047976]     Ответить | Цитировать Сообщить модератору
 Re: xmltype.toObject() генерит ora-19031  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10045
Tolka
Подскажите, что не так.


In 10g rules were tightened. Hints:

SQL> DECLARE 
  2     l_obj t_type;
  3     l_xml XMLTYPE;
  4  BEGIN
  5     l_xml := XMLTYPE( '<data><x>543</x><y>6534</y></data>');  
  6     l_xml.toobject(l_obj);       
  7  END;
  8  /
DECLARE
*
ERROR at line 1:
ORA-19031: XML element or attribute x does not match any in type SCOTT.T_TYPE
ORA-06512: at "SYS.XMLTYPE", line 183
ORA-06512: at line 6


SQL> DECLARE
  2     l_obj t_type;
  3     l_xml XMLTYPE;
  4  BEGIN
  5     l_xml := XMLTYPE( '<DATA><X>543</X><Y>6534</Y></DATA>');
  6     l_xml.toobject(l_obj);
  7  END;
  8  /
SQL> /

PL/SQL procedure successfully completed.

SQL> DECLARE
  2     l_obj t_type;
  3     l_xml XMLTYPE;
  4  BEGIN
  5     l_xml := XMLTYPE( '<data><X>543</X><Y>6534</Y></data>');
  6     l_xml.toobject(l_obj);
  7  END;
  8  /

PL/SQL procedure successfully completed.

SQL> drop type t_type;

Type dropped.

SQL> CREATE TYPE t_type AS OBJECT 
  2  (
  3     "x" NUMBER,
  4     "y" NUMBER
  5  )
  6  /

Type created.

SQL> DECLARE 
  2     l_obj t_type;
  3     l_xml XMLTYPE;
  4  BEGIN
  5     l_xml := XMLTYPE( '<data><x>543</x><y>6534</y></data>');  
  6     l_xml.toobject(l_obj);       
  7  END;
  8  /

PL/SQL procedure successfully completed.

SQL>   

SY.
5 июл 10, 05:45    [9047986]     Ответить | Цитировать Сообщить модератору
 Re: xmltype.toObject() генерит ora-19031  [new]
Tolka
Member

Откуда:
Сообщений: 199
SY,

man, you rocks!

thank you :)
5 июл 10, 11:25    [9049162]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить