我遇到了以下问题。每次我尝试通过JDBC在我的Oracle DB中加载XML文件时,我都会收到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";
如果有人能指出我正确的方向,会很棒。
答案 0 :(得分:0)
在尝试将数据插入XMLTYPE列之前,我假设您正在从文本源创建XMLType对象。执行此操作时,是否在XMLType函数的schema参数中包含命名空间模式? 11g中的更改是在创建XMLType对象时根据其架构验证名称空间,并且必须指定这些名称空间。