Oracle 11g XMLType объект реляционного хранения -> проверка схемы XML - PullRequest
2 голосов
/ 21 января 2012

у меня возникла следующая проблема.Каждый раз, когда я пытаюсь загрузить XML-файл через JDBC в мою базу данных Oracle, я получаю сообщение об ошибке ORA-19007: схема документа не совпадает со схемой http://myServerURL/mondial.xsd

в Oxygen, однако я проверял mondial.xmlи mondial.xsd, поэтому я понятия не имею, в чем проблема Oracle с файлами.

Мой XML

<mondial  xmlns:xdb="http://xmlns.oracle.com/xdb"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://myServerURL/mondial.xsd">

Моя схема

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
       xmlns:xdb="http://xmlns.oracle.com/xdb" 
       elementFormDefault="qualified">

Ирегистрация прошла успешно

BEGIN DBMS_XMLSCHEMA.registerSchema(
                   SCHEMAURL  => 'http://myServerURL/mondial.xsd'
                   SCHEMADOC  => HTTPURIType('http://myServerURL/mondial.xsd').getClob()
                   LOCAL      => false,     -- local
                   GENTYPES   => false,     -- generate object types
                   GENBEAN    => false,     -- no java beans
                   GENTABLES  => false,     -- generate object tables
                   FORCE      => true
                   OWNER      => USER)
                   END;

Запрос создания таблицы

create Table MYTABLE (id Number, mondial XMLTYPE) XMLTYPE Column mondial
                          XMLSCHEMA "http://myServerURL/mondial.xsd"
                              ELEMENT "mondial";

Было бы замечательно, если бы кто-то мог указать мне правильное направление.

1 Ответ

0 голосов
/ 27 января 2012

До попытки вставить данные в столбец XMLTYPE я предполагаю, что вы создаете объект XMLType из источника текста.Когда вы делаете это, включаете ли вы схемы пространства имен в аргумент схемы функции XMLType?Изменение в 11g состоит в том, что пространства имен сверяются со своей схемой сразу после создания объекта XMLType, и они должны быть указаны.

...