Ora-31050 on dbms_xdb.createresource
Hi,
I´m trying to save xml output to OS file using the <dbms_xdb.createresource> command.
Executing it in sql*devloper works fine, It creats the file whithin the xbd strcuture.
But when i run the same command in a pl/sql procedure it returns:
Error report:
ORA-31050: Access denied
ORA-06512: em "XDB.DBMS_XDB", line 73
ORA-06512: em "OBERS.TESTGENXML", line 7
ORA-06512: em line 1
31050. 00000 - "Access denied"
The pl/sql command is:
create or replace PROCEDURE TESTGENXML AS
BEGIN
declare
x boolean ;
begin
x := dbms_xdb.createresource('/teste2.xml' ,'<p> 1 </p> ' );
end;
END TESTGENXML;
What can there be wrong. I´m using database 10.2.0.1
Anyone a clue?
Thanks,
Sjraar Gubbels
Patos de Minas - Brasil
This problem is described in support.oracle.com (metalink).
The issue is discussed in bug 7710668: BUG 7710668 - ORA-31050 WHEN TRYING TO CREATE AN XDB RESOURCE VIA PL/SQL
Similar Messages
-
DBMS_XDB.CREATERESOURCE from JAVA
Hi all,
i'm trying to load XML-data into the database with the following pseudocode:
SQLText := "DECLARE
retB boolean;
XMLDoc XMLType;
BEGIN
XMLDoc := XMLType(?);
retB := DBMS_XDB.CREATERESOURCE('Resourcename', XMLDoc);
END";
SQLStmt := (OraclePreparedStatement) _conn.prepareStatement(SQLText);
SQLStmt.setString(1, xml);
SQLStmt.execute();
It works in JAVA with one exception. All characters using more than one byte in UTF-8 are double encoded. That means, if the XML-String contains an german umlaut ä (U+00E4) this character is encoded as "C3 A4" in the string. After submitting the XML to the database the ä has the value C3 83 C2 A4 => the value C3 is encoded as C3 83 and the value A4 is encoded as C2 A4.
Thats no problem if i query the documents from Java because the way back is the same. But if i retrieve the document over the protocoll server (WebDav or FTP) the character encoding is corrupted (2 characters for ä).
I am using Ora 11.2.0.1 on Linux with ojdbc6.jar. My NLS settings are as follows:
NLS_LANGUAGE GERMAN
NLS_TERRITORY GERMANY
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET AL16UTF16
On the client GERMAN_GERMANY.WE8MSWIN1252, but i also tried with SET NLS_LANG=GERMAN_GERMANY.AL32UTF8 because of the UTF coding of the XML string.
What I am doing the wrong way?
Thanks for your help,
regards
FrankHi odie_63,
thanks for your reply. I have extracted the relevant code of the program into a tiny test application.
package project1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.text.MessageFormat;
import oracle.jdbc.OraclePreparedStatement;
import oracle.ucp.jdbc.PoolDataSource;
import oracle.ucp.jdbc.PoolDataSourceFactory;
public class Application1 {
public static void main(String[] args) {
try {
doSimpleTest();
} catch (Exception e) {
e.printStackTrace();
public static void doSimpleTest(){
System.out.println("doing simple test case...");
final String insertSQL = " DECLARE\n" +
" retB boolean;\n" +
" XMLDoc XMLType;\n" +
" BEGIN\n" +
" XMLDoc := XMLType(?);\n" +
" retB := DBMS_XDB.CREATERESOURCE({0},XMLDoc); \n" +
" END;";
final String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><test xmlns=\"http://www.gfai.de/Test\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.gfai.de/Test http://www.gfai.de/Test\">äöü</test>";
String SQL_QUERY = null;
PoolDataSource _pds = null;
Connection _conn = null;
OraclePreparedStatement s = null;
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//Creating a pool-enabled data source
_pds = PoolDataSourceFactory.getPoolDataSource();
//Setting connection properties of the data source
_pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
_pds.setURL("jdbc:oracle:thin:@10.10.182.110:1521:ORALX64");
_pds.setUser("test");
_pds.setPassword("tset");
//Setting pool properties
_pds.setInitialPoolSize(5);
_pds.setMinPoolSize(5);
_pds.setMaxPoolSize(10);
// connection
_conn = _pds.getConnection();
// Insert
SQL_QUERY = MessageFormat.format(insertSQL, new Object[]{"'/public/test/test.xml'"});
s = (OraclePreparedStatement) _conn.prepareStatement(SQL_QUERY);
s.setString(1, new String(xml.getBytes("UTF-8")));
s.execute();
System.out.println("inserted...");
catch(Exception ex){
ex.printStackTrace();
finally{
try{s.close();_conn.close();}catch(Exception ex){};
return;
Before running the test it's required to set up the user test and the XML-schema. I have done it with the following lines of code:
CONNECT SYSTEM;
CREATE USER TEST IDENTIFIED BY "tset";
GRANT CREATE SESSION TO TEST;
GRANT RESOURCE TO TEST;
DECLARE
RETB BOOLEAN;
BEGIN
RETB := DBMS_XDB.CREATEFOLDER('/sys/schemas/PUBLIC/www.gfai.de');
RETB := DBMS_XDB.CREATEFOLDER('/sys/schemas/PUBLIC/www.gfai.de/test');
RETB := DBMS_XDB.CREATEFOLDER('/public/test');
COMMIT;
END;
CREATE OR REPLACE DIRECTORY TEST_DIR AS '/home/oracle';
GRANT READ ON DIRECTORY TEST_DIR TO test;
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://www.gfai.de/Test',
SCHEMADOC => BFILENAME('TEST_DIR','Test.xsd'),
LOCAL => FALSE,
GENTYPES => TRUE,
GENTABLES => TRUE);
END;
After executing the test case i get the following results with sqlplus:
SQL> select dump(extractvalue(object_value,'/test')) from test_document;
DUMP(EXTRACTVALUE(OBJECT_VALUE,'/TEST'))
Typ=1 Len=12: 195,131,194,164,195,131,194,182,195,131,194,188
SQL>
The whole document is saved as
SQL> select xdburitype('/public/test/test.xml').getblob() from dual;
XDBURITYPE('/PUBLIC/TEST/TEST.XML').GETBLOB()
3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C
7465737420786D6C6E733D22687474703A2F2F7777772E676661692E64652F546573742220786D6C
6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D61
2D696E7374616E636522207873693A736368656D614C6F636174696F6E3D22687474703A2F2F7777
772E676661692E64652F5465737420687474703A2F2F7777772E676661692E64652F54657374223E
C383C2A4C383C2B6C383C2BC3C2F746573743E0A
SQL>
The schema definition file is as follows:
<?xml version="1.0" encoding="windows-1252" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.gfai.de/Test"
targetNamespace="http://www.gfai.de/Test"
elementFormDefault="qualified"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xsd:element name="test" xdb:defaultTableSchema="TEST"
xdb:defaultTable="TEST_DOCUMENT">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:Schema>
thanks again,
regards
Frank -
ORA-31050:Access denied when trying enabling the database-native Web servic
Dear all,
I'm trying to follow the instruction of OBE about "Using Oracle XML DB Web Services for Service-Oriented Architecture " as this url http://st-curriculum.oracle.com/obe/db/11g/r1/prod/datamgmt/xmldb2_b/xmldb2_b.htm#http .
I would like to enable the database-native Web service end point in Oracle XML DB and I already execute the script to create Web Service Endpoint.
Anyway, I got the following error.
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "SYSTEM.ADDSERVLETMAPPING", line 91
I found that this procedure was created on system schema but the problem occur when I tried to call ADDSERVLETMAPPING procedure.
This is a code that I used to enable.
set pagesize 100
set linesize 132
set long 20000
set echo on
-- conn sys/oracle as sysdba
create or replace procedure addServletMapping (pattern varchar2,
servletname varchar2,
dispname varchar2,
servletclass varchar2,
servletschema varchar2,
language varchar2,
description varchar2,
securityRole xmltype) as
xdbconfig xmltype;
begin
xdbconfig := dbms_xdb.cfg_get();
select deleteXML
xdbconfig,
'/xdbconfig/sysconfig/protocolconfig/httpconfig/webappconfig/servletconfig/servlet-list/servlet[servlet-name="' || servletname || '"]'
into xdbconfig
from dual;
if (language = 'C') then
select insertChildXML
xdbconfig,
'/xdbconfig/sysconfig/protocolconfig/httpconfig/webappconfig/servletconfig/servlet-list',
'servlet',
xmlElement
"servlet",
xmlAttributes('http://xmlns.oracle.com/xdb/xdbconfig.xsd' as "xmlns"),
xmlForest
servletname as "servlet-name",
language as "servlet-language",
dispname as "display-name",
description as "description"
securityRole
into xdbconfig
from dual;
else
select insertChildXML
xdbconfig,
'/xdbconfig/sysconfig/protocolconfig/httpconfig/webappconfig/servletconfig/servlet-list',
'servlet',
xmlElement
"servlet",
xmlAttributes('http://xmlns.oracle.com/xdb/xdbconfig.xsd' as "xmlns"),
xmlForest
servletname as "servlet-name",
language as "servlet-language",
dispname as "display-name",
description as "description",
servletclass as "servlet-class",
servletschema as "servlet-schema"
into xdbconfig
from dual;
end if;
select deleteXML
xdbconfig,
'/xdbconfig/sysconfig/protocolconfig/httpconfig/webappconfig/servletconfig/servlet-mappings/servlet-mapping[servlet-name="' || servletname || '"]'
into xdbconfig
from dual;
select insertChildXML
xdbconfig,
'/xdbconfig/sysconfig/protocolconfig/httpconfig/webappconfig/servletconfig/servlet-mappings',
'servlet-mapping',
xmltype
'<servlet-mapping xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">
<servlet-pattern>'||pattern||'</servlet-pattern>
<servlet-name>'||servletname||'</servlet-name>
</servlet-mapping>'
into xdbconfig
from dual;
xdb.dbms_xdb.cfg_update(xdbconfig);
end;
call addServletMapping(
'/orawsv/*',
'orawsv',
'Oracle Query Web Service',
null,
null,
'C',
'Web Services Servlet',
xmltype(
'<security-role-ref>
<role-name>XDB_WEBSERVICES</role-name>
<role-link>XDB_WEBSERVICES</role-link>
</security-role-ref>'
call addServletMapping(
'/orawsdl/*',
'orawsdl',
'Oracle WSDLs',
null,
null,
'C',
'WSDL Servlet',
xmltype(
'<security-role-ref>
<role-name>XDB_WEBSERVICES</role-name>
<role-link>XDB_WEBSERVICES</role-link>
</security-role-ref>'
--grant XDB_WEBSERVICES to oe
grant XDB_WEBSERVICES to TESTDB
-- For 11g only
--grant XDB_WEBSERVICES_OVER_HTTP to oe
grant XDB_WEBSERVICES_OVER_HTTP to TESTDB
--grant XDB_WEBSERVICES_WITH_PUBLIC to oe
grant XDB_WEBSERVICES_WITH_PUBLIC to TESTDB
-- Clean up afterward
drop procedure addServletMapping
Regards,
Zenoni
Edited by: zenoni on Jan 28, 2011 10:18 AMTest if you can access the generic WSDL using a browser
http://server:port/orawsv?wsdlYou should get prompted for a username and password. If you provide the username and password of a database user who was been granted the Web Services Roles you should see the query service WSDL
<definitions name="orawsv" targetNamespace="http://xmlns.oracle.com/orawsv"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://xmlns.oracle.com/orawsv"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema
targetNamespace="http://xmlns.oracle.com/orawsv"
elementFormDefault="qualified">
<xsd:element name="query">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DDL_text" type="xsd:string"
minOccurs="0" maxOccurs="unbounded" />
<xsd:element name="query_text">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="type">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="SQL" />
<xsd:enumeration value="XQUERY" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="bind">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="bindXML">
<xsd:complexType>
<xsd:sequence>
<xsd:any/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:choice>
<xsd:element name="null_handling" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="DROP_NULLS" />
<xsd:enumeration value="NULL_ATTR" />
<xsd:enumeration value="EMPTY_TAG" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="max_rows" type="xsd:positiveInteger" minOccurs="0"/>
<xsd:element name="skip_rows" type="xsd:positiveInteger" minOccurs="0"/>
<xsd:element name="pretty_print" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="indentation_width" type="xsd:positiveInteger" minOccurs="0"/>
<xsd:element name="rowset_tag" type="xsd:string" minOccurs="0"/>
<xsd:element name="row_tag" type="xsd:string" minOccurs="0"/>
<xsd:element name="item_tags_for_coll" type="xsd:boolean" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="queryOut">
<xsd:complexType>
<xsd:sequence>
<xsd:any/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name="QueryInput">
<part name="body" element="tns:query"/>
</message>
<message name="XMLOutput">
<part name="body" element="tns:queryOut"/>
</message>
<portType name="ORAWSVPortType">
<operation name="XMLFromQuery">
<input message="tns:QueryInput"/>
<output message="tns:XMLOutput"/>
</operation>
</portType>
<binding name="ORAWSVBinding" type="tns:ORAWSVPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="XMLFromQuery">
<soap:operation soapAction="http://localhost/orawsv"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="ORAWSVService">
<documentation>Oracle Web Service</documentation>
<port name="ORAWSVPort" binding="tns:ORAWSVBinding">
<soap:address location="http://localhost/orawsv"/>
</port>
</service>
</definitions>Edited by: mdrake on Jan 27, 2011 8:42 PM -
DBMS_XDB.createResource(path, XMLTYPE) removes the XML declaration
Hi,
I'm writing out XML documents to the XMLDB repository by looping through a view which has an XMLTYPE column and writing each instance of that column using the 2nd form of createresource specified in the PL/SQL Packages and Types Reference.
DBMS_XDB.CREATERESOURCE(
path IN VARCHAR2,
data IN SYS.XMLTYPE)
RETURN BOOLEAN;
It creates the resource but the xml is missing the <?xml version="1.0" encoding="UTF-8"?> declaration.
Any idea of why this is happening and how I can fix it, preferably without having to mess about with converting XMLTYPE to VARCHAR2 and prepending the declaration.
Thanks,
Chris
Oops forgot the version info. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 on Windows
Edited by: chrisis on Oct 16, 2009 2:31 PMI had VERSION NO VALUE, STANDALONE NO VALUE on the XMLRoot function.
-
How is DefaultTable populated after dbms_xdb.createResource?
** 10gR2 **
hi, I'm inheriting some XMLDB/PlSql code
new to XMLDB, appreciate some help
<p>
Sample snip of registered xsd:
<div style="color:red;">
<xs:complexType name="OurTransactions" xdb:SQLType="OurTransaction1234_T" xdb:SQLSchema="SCOTT">
<xs:complexContent>
<xs:extension base="SalesTransactions">
<xs:sequence>
<xs:element name="OurTransaction" type="SalesOurType"
maxOccurs="unbounded" <strong>xdb:defaultTable="OUR_TRANSACTION_TABLE</strong>" xdb:SQLInline="false"
xdb:SQLName="OurTransaction" xdb:SQLType="SalesOur4321_T"
xdb:SQLSchema="SCOTT" xdb:defaultTableSchema="SCOTT"
xdb:SQLCollType="XDB$XMLTYPE_REF_LIST_T" xdb:SQLCollSchema="XDB"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</div>
</p>
<p>
I do see the XMLtype tables and types referenced in the annotation above.
<strong>and XML doc is added this way: <span style="color:blue;">
dbms_xdb.createResource('some_url', xml_clob);</span></strong>
</p>
<p>
the default XMLtype table "OUR_TRANSACTION_TABLE" gets populated after dbms_xdb.createResource
<strong>
My question is "How ?"
How is the default table populated when XML is added via "dbms_xdb.createResource" ?</strong>
I haven't come across this in the documentation, appreciate if you can point out where in the doco.
this specific topic is mentioned.
thanks!
</p>Truncate table should delete the associated resources (at least it appears to in 11g)
If that doesn't work you can try something like this
SQL> set timing on
SQL> --
SQL> select ANY_PATH
2 from RESOURCE_VIEW, PURCHASEORDER p
3 where extractValue(res,'/Resource/XMLRef') = ref(p)
4 /
/home/SCOTT/purchaseOrders/2003/Apr/AMCEWEN-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/EABEL-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/PTUCKER-20030409120030491PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/PTUCKER-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SBELL-20030409120030431PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SBELL-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SKING-200304091233363200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409120030441PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409120030451PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409123336151PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/VJONES-20030409120030401PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/VJONES-20030409123336301PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/BEVERETT-2003110912343601PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/BEVERETT-2003112302343802PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/CDAVIES-2003100809243618PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/CDAVIES-2003120809668273PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/ChineseMovieTitles.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/WTAYLOR-2003082311908574PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/AWALSH-20030809123337203PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/AWALSH-20030809123337303PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/CJOHNSON-20030809123337283PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/DAUSTIN-20030809123337103PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/JCHEN-20030809123337123PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/JCHEN-20030809123337223PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/LSMITH-20030809123337323PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SBELL-20030809123337353PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SKING-20030809123337153PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SMCCAIN-20030809123337173PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/TFOX-20030809123337243PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/AMCEWEN-20031209123338445PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/CJOHNSON-20031209123338595PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/DAUSTIN-20031209123338645PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/EABEL-20031209123338324PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/JCHEN-20031209123338475PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/LSMITH-20031209123338535PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/PTUCKER-20031209123338565PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/SBELL-20031209123338304PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/SBELL-20031209123338505PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/TFOX-20031209123338354PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/VJONES-20031209123338374PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/AMCEWEN-20030209123335600PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/AMCEWEN-20030209123335701PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/DAUSTIN-20030209123335811PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/EABEL-20030209123335791PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/PTUCKER-20030209123335721PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/PTUCKER-20030209123335821PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/SBELL-20030209123335771PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/SMCCAIN-20030209123335681PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335650PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335741PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335751PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/AMCEWEN-20030109123335370PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/AWALSH-2003010912333570PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/CJOHNSON-20030109123335170PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/LSMITH-20030109123335500PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/PTUCKER-20030109123335430PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SBELL-20030109123335280PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SKING-20030109123335560PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SMCCAIN-20030109123335470PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/TFOX-20030109123335520PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/VJONES-20030109123335350PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/WSMITH-20030109123335450PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/AMCEWEN-20030709123336902PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/CJOHNSON-2003070912333783PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/DAUSTIN-2003070912333702PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/DAUSTIN-2003070912333742PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/LSMITH-2003070912333722PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SBELL-2003070912333763PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SKING-20030709123336952PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SMCCAIN-20030709123336972PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/TFOX-20030709123336872PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/TFOX-20030709123336912PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/VJONES-20030709123336932PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/AMCEWEN-20030609123336762PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/AWALSH-20030609123336642PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/CJOHNSON-20030609123336712PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/LSMITH-20030609123336852PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SKING-20030609123336622PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SKING-20030609123336822PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SMCCAIN-20030609123336842PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/TFOX-20030609123336582PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/TFOX-20030609123336782PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/VJONES-20030609123336602PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/VJONES-20030609123336802PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123335871PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123335911PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123336101PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/CJOHNSON-20030309123335851PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/DAUSTIN-20030309123335931PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/JCHEN-20030309123335961PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/LSMITH-2003030912333661PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/SBELL-2003030912333601PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/SKING-20030309123336131PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/TFOX-2003030912333681PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/VJONES-20030309123335971PDT.xml
/home/SCOTT/purchaseOrders/2003/May/CJOHNSON-20030509123336482PDT.xml
/home/SCOTT/purchaseOrders/2003/May/EABEL-20030509123336382PDT.xml
/home/SCOTT/purchaseOrders/2003/May/JCHEN-20030509123336462PDT.xml
/home/SCOTT/purchaseOrders/2003/May/LSMITH-20030509123336562PDT.xml
/home/SCOTT/purchaseOrders/2003/May/PTUCKER-20030509123336452PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SBELL-20030509123336362PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SBELL-20030509123336532PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SKING-20030509123336392PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SMCCAIN-20030509123336512PDT.xml
/home/SCOTT/purchaseOrders/2003/May/VJONES-20030509123336502PDT.xml
/home/SCOTT/purchaseOrders/2003/May/WSMITH-20030509123336412PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/AWALSH-20031109123337954PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/AWALSH-2003110912333844PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/CJOHNSON-20031109123338124PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/CJOHNSON-2003110912333824PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/LSMITH-20031109123338234PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SBELL-20031109123338204PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SKING-20031109123337974PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SKING-20031109123338294PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SMCCAIN-2003110912333894PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/TFOX-20031109123337994PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/WSMITH-20031109123338154PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/AMCEWEN-20031009123337874PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/DAUSTIN-20031009123337613PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337633PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337733PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337764PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/SBELL-20031009123337673PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/SKING-20031009123337703PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/TFOX-20031009123337653PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/TFOX-20031009123337784PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/VJONES-20031009123337814PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/WSMITH-20031009123337924PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/AWALSH-20030909123337483PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/DAUSTIN-20030909123337423PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/DAUSTIN-20030909123337553PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/JCHEN-20030909123337443PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SKING-20030909123337383PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SKING-20030909123337503PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SMCCAIN-20030909123337403PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/TFOX-20030909123337463PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/TFOX-20030909123337563PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/VJONES-20030909123337363PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/VJONES-20030909123337583PDT.xml
139 rows selected.
Elapsed: 00:00:00.40
SQL> call dbms_xdbz.DISABLE_HIERARCHY('SCOTT','PURCHASEORDER')
2 /
Call completed.
Elapsed: 00:00:01.81
SQL> select ANY_PATH
2 from RESOURCE_VIEW, USER_XML_SCHEMAS
3 where existsNode
4 (
5 res,
6 '/Resource[SchOID="' || SCHEMA_ID || '" and ElNum="' ||
7 extractValue
8 (
9 schema,
10 '/xsd:schema/xsd:element[@name="PurchaseOrder"]/@xdb:propNumber',
11 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb"'
12 )
13 || '"]'
14 ) = 1
15 and SCHEMA_URL = 'http://localhost:80/home/SCOTT/poSource/xsd/purchaseOrder.xsd'
16 /
/home/SCOTT/purchaseOrders/2003/Apr/AMCEWEN-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/EABEL-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/PTUCKER-20030409120030491PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/PTUCKER-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SBELL-20030409120030431PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SBELL-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SKING-200304091233363200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409120030441PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409120030451PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409123336151PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/VJONES-20030409120030401PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/VJONES-20030409123336301PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/BEVERETT-2003110912343601PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/BEVERETT-2003112302343802PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/CDAVIES-2003100809243618PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/CDAVIES-2003120809668273PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/ChineseMovieTitles.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/WTAYLOR-2003082311908574PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/AWALSH-20030809123337203PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/AWALSH-20030809123337303PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/CJOHNSON-20030809123337283PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/DAUSTIN-20030809123337103PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/JCHEN-20030809123337123PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/JCHEN-20030809123337223PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/LSMITH-20030809123337323PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SBELL-20030809123337353PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SKING-20030809123337153PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SMCCAIN-20030809123337173PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/TFOX-20030809123337243PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/AMCEWEN-20031209123338445PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/CJOHNSON-20031209123338595PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/DAUSTIN-20031209123338645PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/EABEL-20031209123338324PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/JCHEN-20031209123338475PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/LSMITH-20031209123338535PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/PTUCKER-20031209123338565PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/SBELL-20031209123338304PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/SBELL-20031209123338505PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/TFOX-20031209123338354PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/VJONES-20031209123338374PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/AMCEWEN-20030209123335600PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/AMCEWEN-20030209123335701PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/DAUSTIN-20030209123335811PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/EABEL-20030209123335791PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/PTUCKER-20030209123335721PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/PTUCKER-20030209123335821PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/SBELL-20030209123335771PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/SMCCAIN-20030209123335681PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335650PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335741PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335751PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/AMCEWEN-20030109123335370PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/AWALSH-2003010912333570PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/CJOHNSON-20030109123335170PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/LSMITH-20030109123335500PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/PTUCKER-20030109123335430PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SBELL-20030109123335280PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SKING-20030109123335560PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SMCCAIN-20030109123335470PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/TFOX-20030109123335520PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/VJONES-20030109123335350PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/WSMITH-20030109123335450PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/AMCEWEN-20030709123336902PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/CJOHNSON-2003070912333783PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/DAUSTIN-2003070912333702PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/DAUSTIN-2003070912333742PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/LSMITH-2003070912333722PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SBELL-2003070912333763PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SKING-20030709123336952PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SMCCAIN-20030709123336972PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/TFOX-20030709123336872PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/TFOX-20030709123336912PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/VJONES-20030709123336932PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/AMCEWEN-20030609123336762PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/AWALSH-20030609123336642PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/CJOHNSON-20030609123336712PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/LSMITH-20030609123336852PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SKING-20030609123336622PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SKING-20030609123336822PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SMCCAIN-20030609123336842PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/TFOX-20030609123336582PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/TFOX-20030609123336782PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/VJONES-20030609123336602PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/VJONES-20030609123336802PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123335871PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123335911PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123336101PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/CJOHNSON-20030309123335851PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/DAUSTIN-20030309123335931PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/JCHEN-20030309123335961PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/LSMITH-2003030912333661PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/SBELL-2003030912333601PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/SKING-20030309123336131PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/TFOX-2003030912333681PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/VJONES-20030309123335971PDT.xml
/home/SCOTT/purchaseOrders/2003/May/CJOHNSON-20030509123336482PDT.xml
/home/SCOTT/purchaseOrders/2003/May/EABEL-20030509123336382PDT.xml
/home/SCOTT/purchaseOrders/2003/May/JCHEN-20030509123336462PDT.xml
/home/SCOTT/purchaseOrders/2003/May/LSMITH-20030509123336562PDT.xml
/home/SCOTT/purchaseOrders/2003/May/PTUCKER-20030509123336452PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SBELL-20030509123336362PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SBELL-20030509123336532PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SKING-20030509123336392PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SMCCAIN-20030509123336512PDT.xml
/home/SCOTT/purchaseOrders/2003/May/VJONES-20030509123336502PDT.xml
/home/SCOTT/purchaseOrders/2003/May/WSMITH-20030509123336412PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/AWALSH-20031109123337954PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/AWALSH-2003110912333844PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/CJOHNSON-20031109123338124PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/CJOHNSON-2003110912333824PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/LSMITH-20031109123338234PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SBELL-20031109123338204PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SKING-20031109123337974PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SKING-20031109123338294PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SMCCAIN-2003110912333894PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/TFOX-20031109123337994PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/WSMITH-20031109123338154PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/AMCEWEN-20031009123337874PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/DAUSTIN-20031009123337613PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337633PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337733PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337764PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/SBELL-20031009123337673PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/SKING-20031009123337703PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/TFOX-20031009123337653PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/TFOX-20031009123337784PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/VJONES-20031009123337814PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/WSMITH-20031009123337924PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/AWALSH-20030909123337483PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/DAUSTIN-20030909123337423PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/DAUSTIN-20030909123337553PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/JCHEN-20030909123337443PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SKING-20030909123337383PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SKING-20030909123337503PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SMCCAIN-20030909123337403PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/TFOX-20030909123337463PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/TFOX-20030909123337563PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/VJONES-20030909123337363PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/VJONES-20030909123337583PDT.xml
139 rows selected.
Elapsed: 00:00:00.25
SQL> truncate table PURCHASEORDER
2 /
Table truncated.
Elapsed: 00:00:00.25
SQL> select ANY_PATH
2 from RESOURCE_VIEW, USER_XML_SCHEMAS
3 where existsNode
4 (
5 res,
6 '/Resource[SchOID="' || SCHEMA_ID || '" and ElNum="' ||
7 extractValue
8 (
9 schema,
10 '/xsd:schema/xsd:element[@name="PurchaseOrder"]/@xdb:propNumber',
11 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb"'
12 )
13 || '"]'
14 ) = 1
15 and SCHEMA_URL = 'http://localhost:80/home/SCOTT/poSource/xsd/purchaseOrder.xsd'
16 /
/home/SCOTT/purchaseOrders/2003/Apr/AMCEWEN-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/EABEL-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/PTUCKER-20030409120030491PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/PTUCKER-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SBELL-20030409120030431PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SBELL-20030409123336200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SKING-200304091233363200304.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409120030441PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409120030451PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/SMCCAIN-20030409123336151PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/VJONES-20030409120030401PDT.xml
/home/SCOTT/purchaseOrders/2003/Apr/VJONES-20030409123336301PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/BEVERETT-2003110912343601PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/BEVERETT-2003112302343802PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/CDAVIES-2003100809243618PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/CDAVIES-2003120809668273PDT.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/ChineseMovieTitles.xml
/home/SCOTT/purchaseOrders/2003/AsianExamples/WTAYLOR-2003082311908574PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/AWALSH-20030809123337203PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/AWALSH-20030809123337303PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/CJOHNSON-20030809123337283PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/DAUSTIN-20030809123337103PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/JCHEN-20030809123337123PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/JCHEN-20030809123337223PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/LSMITH-20030809123337323PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SBELL-20030809123337353PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SKING-20030809123337153PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/SMCCAIN-20030809123337173PDT.xml
/home/SCOTT/purchaseOrders/2003/Aug/TFOX-20030809123337243PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/AMCEWEN-20031209123338445PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/CJOHNSON-20031209123338595PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/DAUSTIN-20031209123338645PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/EABEL-20031209123338324PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/JCHEN-20031209123338475PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/LSMITH-20031209123338535PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/PTUCKER-20031209123338565PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/SBELL-20031209123338304PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/SBELL-20031209123338505PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/TFOX-20031209123338354PDT.xml
/home/SCOTT/purchaseOrders/2003/Dec/VJONES-20031209123338374PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/AMCEWEN-20030209123335600PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/AMCEWEN-20030209123335701PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/DAUSTIN-20030209123335811PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/EABEL-20030209123335791PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/PTUCKER-20030209123335721PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/PTUCKER-20030209123335821PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/SBELL-20030209123335771PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/SMCCAIN-20030209123335681PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335650PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335741PDT.xml
/home/SCOTT/purchaseOrders/2003/Feb/WSMITH-20030209123335751PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/AMCEWEN-20030109123335370PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/AWALSH-2003010912333570PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/CJOHNSON-20030109123335170PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/LSMITH-20030109123335500PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/PTUCKER-20030109123335430PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SBELL-20030109123335280PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SKING-20030109123335560PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/SMCCAIN-20030109123335470PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/TFOX-20030109123335520PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/VJONES-20030109123335350PDT.xml
/home/SCOTT/purchaseOrders/2003/Jan/WSMITH-20030109123335450PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/AMCEWEN-20030709123336902PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/CJOHNSON-2003070912333783PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/DAUSTIN-2003070912333702PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/DAUSTIN-2003070912333742PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/LSMITH-2003070912333722PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SBELL-2003070912333763PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SKING-20030709123336952PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/SMCCAIN-20030709123336972PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/TFOX-20030709123336872PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/TFOX-20030709123336912PDT.xml
/home/SCOTT/purchaseOrders/2003/Jul/VJONES-20030709123336932PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/AMCEWEN-20030609123336762PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/AWALSH-20030609123336642PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/CJOHNSON-20030609123336712PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/LSMITH-20030609123336852PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SKING-20030609123336622PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SKING-20030609123336822PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/SMCCAIN-20030609123336842PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/TFOX-20030609123336582PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/TFOX-20030609123336782PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/VJONES-20030609123336602PDT.xml
/home/SCOTT/purchaseOrders/2003/Jun/VJONES-20030609123336802PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123335871PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123335911PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/AWALSH-20030309123336101PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/CJOHNSON-20030309123335851PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/DAUSTIN-20030309123335931PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/JCHEN-20030309123335961PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/LSMITH-2003030912333661PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/SBELL-2003030912333601PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/SKING-20030309123336131PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/TFOX-2003030912333681PDT.xml
/home/SCOTT/purchaseOrders/2003/Mar/VJONES-20030309123335971PDT.xml
/home/SCOTT/purchaseOrders/2003/May/CJOHNSON-20030509123336482PDT.xml
/home/SCOTT/purchaseOrders/2003/May/EABEL-20030509123336382PDT.xml
/home/SCOTT/purchaseOrders/2003/May/JCHEN-20030509123336462PDT.xml
/home/SCOTT/purchaseOrders/2003/May/LSMITH-20030509123336562PDT.xml
/home/SCOTT/purchaseOrders/2003/May/PTUCKER-20030509123336452PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SBELL-20030509123336362PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SBELL-20030509123336532PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SKING-20030509123336392PDT.xml
/home/SCOTT/purchaseOrders/2003/May/SMCCAIN-20030509123336512PDT.xml
/home/SCOTT/purchaseOrders/2003/May/VJONES-20030509123336502PDT.xml
/home/SCOTT/purchaseOrders/2003/May/WSMITH-20030509123336412PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/AWALSH-20031109123337954PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/AWALSH-2003110912333844PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/CJOHNSON-20031109123338124PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/CJOHNSON-2003110912333824PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/LSMITH-20031109123338234PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SBELL-20031109123338204PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SKING-20031109123337974PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SKING-20031109123338294PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/SMCCAIN-2003110912333894PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/TFOX-20031109123337994PDT.xml
/home/SCOTT/purchaseOrders/2003/Nov/WSMITH-20031109123338154PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/AMCEWEN-20031009123337874PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/DAUSTIN-20031009123337613PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337633PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337733PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/JCHEN-20031009123337764PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/SBELL-20031009123337673PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/SKING-20031009123337703PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/TFOX-20031009123337653PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/TFOX-20031009123337784PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/VJONES-20031009123337814PDT.xml
/home/SCOTT/purchaseOrders/2003/Oct/WSMITH-20031009123337924PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/AWALSH-20030909123337483PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/DAUSTIN-20030909123337423PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/DAUSTIN-20030909123337553PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/JCHEN-20030909123337443PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SKING-20030909123337383PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SKING-20030909123337503PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/SMCCAIN-20030909123337403PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/TFOX-20030909123337463PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/TFOX-20030909123337563PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/VJONES-20030909123337363PDT.xml
/home/SCOTT/purchaseOrders/2003/Sep/VJONES-20030909123337583PDT.xml
139 rows selected.
Elapsed: 00:00:00.26
SQL> declare
2 cursor findDocs is
3 select ANY_PATH
4 from RESOURCE_VIEW, USER_XML_SCHEMAS
5 where existsNode
6 (
7 res,
8 '/Resource[SchOID="' || SCHEMA_ID || '" and ElNum="' ||
9 extractValue
10 (
11 schema,
12 '/xsd:schema/xsd:element[@name="PurchaseOrder"]/@xdb:propNumber',
13 'xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb"'
14 )
15 || '"]'
16 ) = 1
17 and SCHEMA_URL = 'http://localhost:80/home/SCOTT/poSource/xsd/purchaseOrder.xsd';
18 begin
19 for d in findDocs loop
20 dbms_xdb.deleteResource(d.ANY_PATH,4);
21 end loop;
22 end;
23 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:01.15
SQL>
SQL>
SQL>1. Disable the Hierarchy. This will prevent truncate from attempting to delete the resource before deleting the content of the table
2. Truncate the table
3. Delete all resources associated with the table.. -
ORA-31050: Access denied when try to register XMLSchema
Dear All
I got ORA-31050: Access denied
when tried to run to load XML schema with DBMS_XMLSCHEMA.registerSchema
Can you advise me what privilege should I grant to the user?
I tried grant XDBADMIN role but it does nto help
Thank you in advance
Artem RodinDear Mark!
I realy need you help!
I can successfully register schema which has complexType declaration as root element, like
<schema targetNamespace="http://www.oracle.com/PO.xsd"
xmlns:po="http://www.oracle.com/PO.xsd"
xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="PurchaseOrderType">
<sequence>
<element name="PONum" type="decimal"/>
<element name="Company">
<simpleType>
<restriction base="string">
<maxLength value="100"/>
</restriction>
</simpleType>
</element>
<element name="Item" maxOccurs="1000">
<complexType>
<sequence>
<element name="Part">
<simpleType>
<restriction base="string">
<maxLength value="1000"/>
</restriction>
</simpleType>
</element>
<element name="Price" type="float"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<!--element name="PurchaseOrder" type="po:PurchaseOrderType"/-->
</schema>
But I failed if in the root there is element like
<schema targetNamespace="http://www.oracle.com/PO.xsd"
xmlns:po="http://www.oracle.com/PO.xsd"
xmlns="http://www.w3.org/2001/XMLSchema">
<complexType name="PurchaseOrderType">
<sequence>
<element name="PONum" type="decimal"/>
<element name="Company">
<simpleType>
<restriction base="string">
<maxLength value="100"/>
</restriction>
</simpleType>
</element>
<element name="Item" maxOccurs="1000">
<complexType>
<sequence>
<element name="Part">
<simpleType>
<restriction base="string">
<maxLength value="1000"/>
</restriction>
</simpleType>
</element>
<element name="Price" type="float"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<element name="PurchaseOrder" type="po:PurchaseOrderType"/>
</schema>
I got the following error stack
ORA-01031: insufficient privileges
ORA-06512: at “XDB.DBMS_XDBZ0”, line 218
ORA-06512: at “XDB.DBMS_XDBZ”, line 6
ORA-06512: at line 1
ORA-06512: at “XDB.DBMS_XMLSCHEMA_INT”, line 0
ORA-06512: at “XDB.DBMS_XMLSCHEMA”, line 26
ORA-06512: at “XDB.DBMS_XMLSCHEMA”, line 131
ORA-06512: at “DVLP.PRIME_BRIDGE”, line 73
ORA-06512: at line 7
I guess you can reproduce this in-house,
It's not my schema it is taken from
XML Database Developer’s Guide - Oracle XML DB
Structured Mapping of XMLType 5-3
Example 5–1 XML Schema Definition, po.xsd
As far as I understand in the second case Oracle tries to create a table to store XML content and fails to do it.
User that I used has DBA role. What other privileges should I grant to the user? And/or I should grant some additional privileges to "XDB" user?
This issue has become critical for me, so I am highly appreciate any assistance
Many thanks in advance
Best regards
Artem Rodin -
Fail to execute XDB.DBMS_XDB
Hi Expert,
I'm having a problem on execute DBMS_XDB.CreateResource in oracle database 11g XE R2.
I tried to grant all on DBMS_XDB to User. But problem still occurred.
The error show as below;
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 174
How can i solve it? Can anyone guide on it. Thanks.
Regards,
MonicaHi,
What's the target location of the resource?
Most likely the user doesn't have the necessary privileges to write in the repository at that location. Check the ACL. -
ORA-30937 when validating element referenced from included schema
I've boiled my latest problem down to a simple test case. Basically it seems as though the included schema is the problem, but I can't figure out why:
begin
dbms_xmlschema.deleteSchema('http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/testinclude.xsd', dbms_xmlschema.DELETE_CASCADE_FORCE);
dbms_xmlschema.registerSchema('http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/testinclude.xsd',
'<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" versionfiltered="1-00" id="NDNASimpleTypes">
<xsd:complexType name="MessageHeaderType">
<xsd:sequence>
<xsd:element name="MESSAGE_NUMBER" type="xsd:long"/>
<xsd:element name="MESSAGE_TYPE" type="MessageTypeType"/>
<xsd:element name="MESSAGE_DATE" type="xsd:dateTime"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="MessageTypeType">
<xsd:annotation>
<xsd:documentation>The definition of the Sample Message Types</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="2"/>
<xsd:enumeration value="CT"/>
<xsd:enumeration value="CA"/>
<xsd:enumeration value="CD"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>',TRUE,FALSE,FALSE,FALSE);
dbms_xmlschema.deleteSchema('http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/Test.xsd', dbms_xmlschema.DELETE_CASCADE);
dbms_xmlschema.registerSchema('http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/Test.xsd',
'<xsd:schema xmlns="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA" elementFormDefault="qualified" attributeFormDefault="unqualified" versionfiltered="1.0" id="Test">
<xsd:include schemaLocation="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/testinclude.xsd"/>
<xsd:element name="SAMPLE_MESSAGE">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MESSAGE_HEADER" type="MessageHeaderType"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>',TRUE,TRUE,FALSE,FALSE);
END;
update xml_in
set xml_data = xmltype ( '<?xml versionfiltered="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2005 rel. 3 U (http://www.altova.com)-->
<SAMPLE_MESSAGE xmlns="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/Test.xsd">
<MESSAGE_HEADER>
<MESSAGE_NUMBER>2147483647</MESSAGE_NUMBER>
<MESSAGE_TYPE>CT</MESSAGE_TYPE>
<MESSAGE_DATE>2001-12-17T09:30:47</MESSAGE_DATE>
</MESSAGE_HEADER>
</SAMPLE_MESSAGE>
where msg_id = 8
and I get the error:
ORA-30937: No schema definition for 'MESSAGE_NUMBER' (namespace 'http://www.forensic.gov.uk/eMessages/Pnclink/NDNA') in parent 'MESSAGE_HEADER'
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at line 27
But if I remove the MESSAGE_NUMBER I get
ORA-31154: invalid XML document
ORA-19202: Error occurred in XML processing
LSX-00213: only 0 occurrences of particle "MESSAGE_NUMBER", minimum is 1
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at line 37
So it knows there is supposed to be a particle called message_number if it's not there, but not what to do with it if it is.
One other thing, which I think is significant: If I amend my test.xsd schema so I define MESSAGE_HEADER there, so the only thing being referenced from testinclude.xsd is the SIMPLE type "MessageTypeType", I don't have a problem. It seems to be only when I include COMPLEX types.
Any suggestions?Dave
I can't register the XML Schemas with XML DB, since we do think versionfiltered is a valid attribute for a schema element...
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" versionfilt
ered="1-00" id="NDNASimpleTypes">
5
6 <xsd:complexType name="MessageHeaderType">
7 <xsd:sequence>
8 <xsd:element name="MESSAGE_NUMBER" type="xsd:long"/>
9 <xsd:element name="MESSAGE_TYPE" type="MessageTypeType"/>
10 <xsd:element name="MESSAGE_DATE" type="xsd:dateTime"/>
11 </xsd:sequence>
12 </xsd:complexType>
13 <xsd:simpleType name="MessageTypeType">
14 <xsd:annotation>
15 <xsd:documentation>The definition of the Sample Message Types</xsd:documentation>
16 </xsd:annotation>
17 <xsd:restriction base="xsd:string">
18 <xsd:maxLength value="2"/>
19 <xsd:enumeration value="CT"/>
20 <xsd:enumeration value="CA"/>
21 <xsd:enumeration value="CD"/>
22 </xsd:restriction>
23 </xsd:simpleType>
24 </xsd:schema>');
25 begin
26 if (dbms_xdb.existsResource(:schemaPath)) then
27 dbms_xdb.deleteResource(:schemaPath);
28 end if;
29 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
30 end;
31 /
Queuing DELETE Event
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.04
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
begin
ERROR at line 1:
ORA-30937: No schema definition for 'versionfiltered' (namespace '##local') in parent '/schema'
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 20
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 31
ORA-06512: at line 2XMLSPY agrees with us on this...
If I change version filtered to version I get
SQL> var schemaURL varchar2(256)
SQL> var schemaPath varchar2(256)
SQL> --
SQL> begin
2 :schemaURL := 'http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/testinclude.xsd';
3 :schemaPath := '/public/testinclude.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.00
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Queuing DELETE Event
Call completed.
Elapsed: 00:00:00.07
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1-
00" id="NDNASimpleTypes">
5
6 <xsd:complexType name="MessageHeaderType">
7 <xsd:sequence>
8 <xsd:element name="MESSAGE_NUMBER" type="xsd:long"/>
9 <xsd:element name="MESSAGE_TYPE" type="MessageTypeType"/>
10 <xsd:element name="MESSAGE_DATE" type="xsd:dateTime"/>
11 </xsd:sequence>
12 </xsd:complexType>
13 <xsd:simpleType name="MessageTypeType">
14 <xsd:annotation>
15 <xsd:documentation>The definition of the Sample Message Types</xsd:documentation>
16 </xsd:annotation>
17 <xsd:restriction base="xsd:string">
18 <xsd:maxLength value="2"/>
19 <xsd:enumeration value="CT"/>
20 <xsd:enumeration value="CA"/>
21 <xsd:enumeration value="CD"/>
22 </xsd:restriction>
23 </xsd:simpleType>
24 </xsd:schema>');
25 begin
26 if (dbms_xdb.existsResource(:schemaPath)) then
27 dbms_xdb.deleteResource(:schemaPath);
28 end if;
29 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
30 end;
31 /
Queuing DELETE Event
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.04
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.20
SQL> begin
2 :schemaURL := 'http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/Test.xsd';
3 :schemaPath := '/public/Test.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Queuing DELETE Event
Call completed.
Elapsed: 00:00:00.06
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<xsd:schema xmlns="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="ht
tp://www.forensic.gov.uk/eMessages/Pnclink/NDNA" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" id="Test">
5
6 <xsd:include schemaLocation="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/testinclude.xsd"/>
7 <xsd:element name="SAMPLE_MESSAGE">
8 <xsd:complexType>
9 <xsd:sequence>
10 <xsd:element name="MESSAGE_HEADER" type="MessageHeaderType"/>
11 </xsd:sequence>
12 </xsd:complexType>
13 </xsd:element>
14 </xsd:schema>');
15 begin
16 if (dbms_xdb.existsResource(:schemaPath)) then
17 dbms_xdb.deleteResource(:schemaPath);
18 end if;
19 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
20 end;
21 /
Queuing DELETE Event
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.04
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,FALSE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.14
SQL> var xmltext varchar2(4000)
SQL> --
SQL> begin
2 :xmltext :=
3 '<SAMPLE_MESSAGE xmlns="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
hemaLocation="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/Test.xsd">
4 <MESSAGE_HEADER>
5 <MESSAGE_NUMBER>2147483647</MESSAGE_NUMBER>
6 <MESSAGE_TYPE>CT</MESSAGE_TYPE>
7 <MESSAGE_DATE>2001-12-17T09:30:47</MESSAGE_DATE>
8 </MESSAGE_HEADER>
9 </SAMPLE_MESSAGE>';
10 end;
11 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.01
SQL> drop table xml_in
2 /
Table dropped.
Elapsed: 00:00:00.04
SQL> create table xml_in
2 (
3 msg_id number(4),
4 xml_data xmltype
5 )
6 /
Table created.
Elapsed: 00:00:00.03
SQL> insert into xml_in values ( 8, xmltype ('<FOO/>'))
2 /
1 row created.
Elapsed: 00:00:00.01
SQL> declare
2 xmldata xmltype;
3 begin
4 xmldata := xmltype(:xmltext);
5 xmldata.schemaValidate();
6 end;
7 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.09
SQL> update xml_in
2 set xml_data = xmltype ( :xmltext )
3 where msg_id = 8
4 /
1 row updated.
Elapsed: 00:00:00.01
SQL> select * from xml_in
2 /
MSG_ID
XML_DATA
8
<SAMPLE_MESSAGE xmlns="http://www.forensic.gov.uk/eMessages/Pnclink/NDNA" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo
cation="ht
tp://www.forensic.gov.uk/eMessages/Pnclink/NDNA http://www.forensic.gov.uk/eMessages/Pnclink/NDNA/Test.xsd">
<MESSAGE_HEADER>
<MESSAGE_NUMBER>2147483647</MESSAGE_NUMBER>
<MESSAGE_TYPE>CT</MESSAGE_TYPE>
<MESSAGE_DATE>2001-12-17T09:30:47</MESSAGE_DATE>
</MESSAGE_HEADER>
</SAMPLE_MESSAGE>
Elapsed: 00:00:00.06
SQL> -
URGENT HELP !!! ORA-31011: XML parsing failed
Hi,
Oracle 9.2.0.4
I've run into
ORA-31011: XML parsing failed ORA-19202: Error
occurred in XML processing LPX-00247: invalid
Document Type Declaration (DTD) Error at line 1
ORA-06512: at line 15
during updateXML operation under CLOB resource.
It seems to me, I can't update created resource
at all.
Is anybody knows the workaround ?
Please, help !!!
Thanks,
ViacheslavNo, it is an html file. For test purpose I've taken
welcome.html from ORACLE_HOME installation. Here are
my test:
declare
res0 bfile := BFILENAME('TEMPDIR', 'welcome.html');
res clob;
Amount INTEGER := 4000;
b BOOLEAN;
begin
Amount:=DBMS_LOB.getlength(res0);
DBMS_LOB.CREATETEMPORARY(res,TRUE);
DBMS_LOB.OPEN(res0, DBMS_LOB.LOB_READONLY);
DBMS_LOB.OPEN(res, DBMS_LOB.LOB_READWRITE);
DBMS_LOB.LOADFROMFILE(res, res0,Amount);
--DBMS_LOB.CLOSE(res0);
b:=DBMS_XDB.createresource
('/MyCONTENT/welcome.html',res);
commit;
end;
declare
res0 bfile := BFILENAME('TEMPDIR', 'welcome.html');
clob1 clob;
amt number := dbms_lob.lobmaxsize;
src_offset number := 1 ;
dst_offset number := 1 ;
lang_ctx number := dbms_lob.default_lang_ctx;
warning number;
Amount INTEGER := 4000;
begin
Amount:=DBMS_LOB.getlength(res0);
DBMS_LOB.CREATETEMPORARY(clob1 ,TRUE);
DBMS_LOB.OPEN(res0, DBMS_LOB.LOB_READONLY);
DBMS_LOB.OPEN(clob1 , DBMS_LOB.LOB_READWRITE);
-- DBMS_LOB.LOADFROMFILE(clob1 , res0,Amount);
dbms_lob.LOADCLOBFROMFILE(clob1 ,res0, amt, dst_offset,
src_offset,dbms_lob.default_csid, lang_ctx,warning) ;
UPDATE xdb.resource_view SET res=updatexml
(res,'/Resource/Contents/*',
WHERE any_path= '/MyCONTENT/welcome.html';
commit;
--dbms_lob.filecloseall() ;
end; -
Problems with createResource and deleteResource
Hi,
i'm creating a XML file with the following procedure:
PROCEDURE testCreateXml(pJobId IN NUMBER)
IS
vResult BOOLEAN;
vTargetResource VARCHAR2(256) := '/home/FP/eIDeAA/Test4.xml';
vXmlref REF XMLTYPE;
BEGIN
dbms_output.put_line('Start Create XML File');
fp_ss_eideaa_util_pa.setJobId(pJobId => pJobId);
dbms_output.put_line('Delete existing XML File');
BEGIN
dbms_xdb.deleteResource(vTargetResource, dbms_xdb.delete_recursive_force);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
dbms_output.put_line('Delete existing XML File: End');
SELECT MAKE_REF(fp_ss_eideaa_xml_v, 'fp_ss_eideaa_xml')
INTO vXmlref
FROM fp_ss_eideaa_xml_v;
vResult := dbms_xdb.createResource(vTargetResource, vXmlref);
dbms_xdb.setAcl(vTargetResource, '/sys/acls/bootstrap_acl.xml');
COMMIT;
END testCreateXml;
The create works fine, but when i want to open the file via WebDAV it's empty. When i do the following query it's not empty.
SELECT xdburitype('/home/FP/eIDeAA/Test4.xml').getXML() FROM dual;
Further, when the file exists, then the dbms_xdb.deleteResource brings the error 'ORA-31003: Parent /home/FP/eIDeAA/ already contains child entry Test4.xml' because of dbms_xdb.deleteResource before didn't work. It's not possible too to delete the Test4.xml file via WebDAV.
Can somebody help me?
The DB Version is 9.2.0.8
Regards,
Martin
Edited by: Martin1 on Jan 8, 2009 7:12 PM
Edited by: Martin1 on Jan 9, 2009 8:40 AMHi Marco,
thanks for your reply.
I found a workaround.
I changed from a REF XMLTYPE variable to a XMLTYPE and do now the select not via the
XMLTYPE view and it works fine.
Here the procedure which i use to create the XML file:
PROCEDURE testCreateXml(pJobId IN NUMBER)
IS
vResult BOOLEAN;
vTargetResource VARCHAR2(256) := '/home/FP/eIDeAA/Test10.xml';
vXmlref XMLTYPE;
BEGIN
dbms_output.put_line('Start Create XML File');
dbms_output.put_line('Delete existing XML File');
IF checkResourceExists(pPath => vTargetResource) THEN
BEGIN
dbms_xdb.deleteResource(vTargetResource, dbms_xdb.delete_recursive);
dbms_output.put_line('Delete: delete_recursive');
EXCEPTION
WHEN OTHERS THEN
BEGIN
IF checkResourceExists(pPath => vTargetResource) THEN
dbms_xdb.deleteResource(vTargetResource, dbms_xdb.delete_recursive_force);
dbms_output.put_line('Delete: delete_recursive_force');
END IF;
IF checkResourceExists(pPath => vTargetResource) THEN
dbms_xdb.deleteResource(vTargetResource, dbms_xdb.delete_recursive_force);
dbms_output.put_line('Delete: delete_recursive_force');
END IF;
END;
END;
END IF;
dbms_output.put_line('Delete existing XML File: End');
SELECT XMLELEMENT
("PRINTORDER",
XMLELEMENT("EID",
XMLELEMENT("PEID", dat.peid),
XMLELEMENT("Priority", dat.priority),
XMLELEMENT("Name1", dat.name_1),
XMLELEMENT("Name2", dat.name_2),
XMLELEMENT("FirstName1", dat.first_name_1),
XMLELEMENT("DateOfBirth", dat.date_of_birth),
XMLELEMENT("ValidUntil", dat.valid_until),
XMLELEMENT("Sex", dat.sex),
XMLELEMENT("Height", dat.height),
XMLELEMENT("Name1", dat.name_1),
XMLELEMENT("Nationality", dat.nationality),
XMLELEMENT("PlaceAndDateOfIssue", dat.place_and_date_of_issue)
INTO vXmlref
FROM fp_ss_eideaa_v dat
WHERE dat.job_id = pJobId;
-- Create Resource.
BEGIN
vResult := dbms_xdb.createResource(vTargetResource, vXmlref);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Create - SQLERRM: ' || SQLERRM);
END;
dbms_xdb.setAcl(vTargetResource, '/sys/acls/bootstrap_acl.xml');
END testCreateXml;
Regards,
Martin -
ORA-30951 when registering TPoX schemas
Hello,
I am trying to register the schemas for TPoX benchmark of XMLType Object Relational storage.
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'http://www.fixprotocol.org/FIXML-4-4 fixml-fields-base-4-4.xsd',
SCHEMADOC => bfilename('XML_FILES_DIR','fixml-fields-base-4-4.xsd'),
LOCAL => TRUE,
CSID => nls_charset_id('AL32UTF8'));
END;
I get the following error:
ORA-30951: Element or attribute at Xpath /schema/simpleType[131]/annotation/appinfo[2][@] exceeds maximum length
The element it refers to, indeed is quite large:
<xs:appinfo xmlns:x="http://www.fixprotocol.org/fixml/metadata.xsd">
<x:EnumDoc value="EUSUPRA" desc="EuroSupranationalCoupons"/>
<x:EnumDoc value="FAC" desc="FederalAgencyCoupon"/>
<x:EnumDoc value="FADN" desc="FederalAgencyDiscountNote"/>
<x:EnumDoc value="PEF" desc="PrivateExportFunding"/>
<x:EnumDoc value="SUPRA" desc="USDSupranationalCoupons"/>
<x:EnumDoc value="FUT" desc="Future"/>
<x:EnumDoc value="OPT" desc="Option"/>
<x:EnumDoc value="CORP" desc="CorporateBond"/>
<x:EnumDoc value="CPP" desc="CorporatePrivatePlacement"/>
<x:EnumDoc value="CB" desc="ConvertibleBond"/>
<x:EnumDoc value="DUAL" desc="DualCurrency"/>
<x:EnumDoc value="EUCORP" desc="EuroCorporateBond"/>
<x:EnumDoc value="XLINKD" desc="IndexedLinked"/>
<x:EnumDoc value="STRUCT" desc="StructuredNotes"/>
<x:EnumDoc value="YANK" desc="YankeeCorporateBond"/>
<x:EnumDoc value="FOR" desc="ForeignExchangeContract"/>
<x:EnumDoc value="CS" desc="CommonStock"/>
<x:EnumDoc value="PS" desc="PreferredStock"/>
<x:EnumDoc value="BRADY" desc="BradyBond"/>
<x:EnumDoc value="EUSOV" desc="EuroSovereigns"/>
<x:EnumDoc value="TBOND" desc="USTreasuryBond"/>
<x:EnumDoc value="TINT" desc="InterestStripFromAnyBondOrNote"/>
<x:EnumDoc value="TIPS" desc="TreasuryInflationProtectedSecurities"/>
<x:EnumDoc value="TCAL" desc="PrincipalStripOfACallableBondOrNote"/>
<x:EnumDoc value="TPRN" desc="PrincipalStripFromANoncallableBondOrNote"/>
<x:EnumDoc value="UST" desc="USTreasuryNoteDeprecatedValueUseTNOTE"/>
<x:EnumDoc value="USTB" desc="USTreasuryBillDeprecatedValueUseTBILL"/>
<x:EnumDoc value="TNOTE" desc="USTreasuryNote"/>
<x:EnumDoc value="TBILL" desc="USTreasuryBill"/>
<x:EnumDoc value="REPO" desc="Repurchase"/>
<x:EnumDoc value="FORWARD" desc="Forward"/>
<x:EnumDoc value="BUYSELL" desc="BuySellback"/>
<x:EnumDoc value="SECLOAN" desc="SecuritiesLoan"/>
<x:EnumDoc value="SECPLEDGE" desc="SecuritiesPledge"/>
<x:EnumDoc value="TERM" desc="TermLoan"/>
<x:EnumDoc value="RVLV" desc="RevolverLoan"/>
<x:EnumDoc value="RVLVTRM" desc="RevolverTermLoan"/>
<x:EnumDoc value="BRIDGE" desc="BridgeLoan"/>
<x:EnumDoc value="LOFC" desc="LetterOfCredit"/>
<x:EnumDoc value="SWING" desc="SwingLineFacility"/>
<x:EnumDoc value="DINP" desc="DebtorInPossession"/>
<x:EnumDoc value="DEFLTED" desc="Defaulted"/>
<x:EnumDoc value="WITHDRN" desc="Withdrawn"/>
<x:EnumDoc value="REPLACD" desc="Replaced"/>
<x:EnumDoc value="MATURED" desc="Matured"/>
<x:EnumDoc value="AMENDED" desc="AmendedRestated"/>
<x:EnumDoc value="RETIRED" desc="Retired"/>
<x:EnumDoc value="BA" desc="BankersAcceptance"/>
<x:EnumDoc value="BN" desc="BankNotes"/>
<x:EnumDoc value="BOX" desc="BillOfExchanges"/>
<x:EnumDoc value="CD" desc="CertificateOfDeposit"/>
<x:EnumDoc value="CL" desc="CallLoans"/>
<x:EnumDoc value="CP" desc="CommercialPaper"/>
<x:EnumDoc value="DN" desc="DepositNotes"/>
<x:EnumDoc value="EUCD" desc="EuroCertificateOfDeposit"/>
<x:EnumDoc value="EUCP" desc="EuroCommercialPaper"/>
<x:EnumDoc value="LQN" desc="LiquidityNote"/>
<x:EnumDoc value="MTN" desc="MediumTermNotes"/>
<x:EnumDoc value="ONITE" desc="Overnight"/>
<x:EnumDoc value="PN" desc="PromissoryNote"/>
<x:EnumDoc value="PZFJ" desc="PlazosFijos"/>
<x:EnumDoc value="STN" desc="ShortTermLoanNote"/>
<x:EnumDoc value="TD" desc="TimeDeposit"/>
<x:EnumDoc value="XCN" desc="ExtendedCommNote"/>
<x:EnumDoc value="YCD" desc="YankeeCertificateOfDeposit"/>
<x:EnumDoc value="ABS" desc="AssetbackedSecurities"/>
<x:EnumDoc value="CMBS" desc="CorpMortgagebackedSecurities"/>
<x:EnumDoc value="CMO" desc="CollateralizedMortgageObligation"/>
<x:EnumDoc value="IET" desc="IOETTEMortgage"/>
<x:EnumDoc value="MBS" desc="MortgagebackedSecurities"/>
<x:EnumDoc value="MIO" desc="MortgageInterestOnly"/>
<x:EnumDoc value="MPO" desc="MortgagePrincipalOnly"/>
<x:EnumDoc value="MPP" desc="MortgagePrivatePlacement"/>
<x:EnumDoc value="MPT" desc="MiscellaneousPassthrough"/>
<x:EnumDoc value="PFAND" desc="Pfandbriefe"/>
<x:EnumDoc value="TBA" desc="ToBeAnnounced"/>
<x:EnumDoc value="AN" desc="OtherAnticipationNotesBANGANEtc"/>
<x:EnumDoc value="COFO" desc="CertificateOfObligation"/>
<x:EnumDoc value="COFP" desc="CertificateOfParticipation"/>
<x:EnumDoc value="GO" desc="GeneralObligationBonds"/>
<x:EnumDoc value="MT" desc="MandatoryTender"/>
<x:EnumDoc value="RAN" desc="RevenueAnticipationNote"/>
<x:EnumDoc value="REV" desc="RevenueBonds"/>
<x:EnumDoc value="SPCLA" desc="SpecialAssessment"/>
<x:EnumDoc value="SPCLO" desc="SpecialObligation"/>
<x:EnumDoc value="SPCLT" desc="SpecialTax"/>
<x:EnumDoc value="TAN" desc="TaxAnticipationNote"/>
<x:EnumDoc value="TAXA" desc="TaxAllocation"/>
<x:EnumDoc value="TECP" desc="TaxExemptCommercialPaper"/>
<x:EnumDoc value="TRAN" desc="TaxRevenueAnticipationNote"/>
<x:EnumDoc value="VRDN" desc="VariableRateDemandNote"/>
<x:EnumDoc value="WAR" desc="Warrant"/>
<x:EnumDoc value="MF" desc="MutualFund"/>
<x:EnumDoc value="MLEG" desc="MultilegInstrument"/>
<x:EnumDoc value="NONE" desc="NoSecurityType"/>
<x:EnumDoc value="WLD" desc="WildcardEntry"/>
</xs:appinfo>
Which parameter should I change in order to register the schema?
Any help much appreciated!For example (code snippet)...
declare
V_FILENAME VARCHAR2(700) := 'CMFXML.SWIFT.MT543.xsd';
V_XMLSCHEMA XMLTYPE := xmltype(bfilename('XMLDIR',V_FILENAME),nls_charset_id('AL32UTF8'));
-- res boolean;
begin
dbms_xmlschema_annotate.addXDBNamespace(V_XMLSCHEMA);
dbms_xmlschema_annotate.setDefaultTable(V_XMLSCHEMA,'CMFXML','CMFXML_MT543_TABLE');
dbms_xmlschema_annotate.DISABLEDEFAULTTABLECREATION(V_XMLSCHEMA);
-- DEBUG generated xdb annotations via resource
-- if (dbms_xdb.existsResource('/public/'||V_FILENAME)) then
-- dbms_xdb.deleteResource('/public/'||V_FILENAME);
-- end if;
-- res := dbms_xdb.createResource('/public/'||V_FILENAME,V_XMLSCHEMA);
dbms_xmlschema.registerSchema
schemaurl => V_FILENAME,
schemadoc => V_XMLSCHEMA.getClobVal(),
local => TRUE,
genTypes => TRUE,
genBean => FALSE,
genTables => TRUE,
enablehierarchy => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE,
owner => user
end;
declare
V_FILENAME VARCHAR2(700) := 'CMFXML.SWIFT.MT544.xsd';
V_XMLSCHEMA XMLTYPE := xmltype(bfilename('XMLDIR',V_FILENAME),nls_charset_id('AL32UTF8'));
-- res boolean;
begin
dbms_xmlschema_annotate.addXDBNamespace(V_XMLSCHEMA);
dbms_xmlschema_annotate.setDefaultTable(V_XMLSCHEMA,'CMFXML','CMFXML_MT544_TABLE');
dbms_xmlschema_annotate.DISABLEDEFAULTTABLECREATION(V_XMLSCHEMA);
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TIndicator-22F-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TAmount-19A-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TDate-98A-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TRate-92A-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TFlag-17B-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TQuantityOfFinancialInstrument-36B-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TReference-20C-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
select insertChildXML
V_XMLSCHEMA,
'//xsd:element[@type="TParty-95PQR-01"]',
'@xdb:SQLInline',
'false',
'xmlns:xdb="http://xmlns.oracle.com/xdb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into V_XMLSCHEMA
from dual;
dbms_xmlschema_annotate.setOutOfLine(V_XMLSCHEMA,'element','ReceiveFreeConfirmationType','TwoLegTransactionDetails','MT544_TWO_LEG_TRANS_TABLE');
dbms_xmlschema_annotate.setOutOfLine(V_XMLSCHEMA,'element','ReceiveFreeConfirmationType','TradeDetails','MT544_TRADE_DETAILS_TABLE');
dbms_xmlschema_annotate.setOutOfLine(V_XMLSCHEMA,'complexType','TTradeDetails','FinancialInstrumentAttributes','MT544_FIN_INST_ATTRS_TABLE');
-- DEBUG generated xdb annotations via resource
-- if (dbms_xdb.existsResource('/public/'||V_FILENAME)) then
-- dbms_xdb.deleteResource('/public/'||V_FILENAME);
-- end if;
-- res := dbms_xdb.createResource('/public/'||V_FILENAME,V_XMLSCHEMA);
dbms_xmlschema.registerSchema
schemaurl => V_FILENAME,
schemadoc => V_XMLSCHEMA.getClobVal(),
local => TRUE,
genTypes => TRUE,
genBean => FALSE,
genTables => TRUE,
enablehierarchy => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE,
owner => user
end;
-- -
DBMS_XMLSCHEMA.CopyEvolve produces ORA-30945: Could not create mapping tabl
Hi,
I am trying to update a XML Schema concerning the documents relaties.xsd (the old one) and relaties_v2.xsd (the new one containing only a minor change).
The document relaties.xsd looks like this:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
version="1.0">
<xsd:element name="Relatie" xdb:defaultTable="">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Voornaam" type="xsd:string"/>
<xsd:element name="Achternaam" type="xsd:string"/>
<xsd:element name="Tussenvoegsel" type="xsd:string"/>
<xsd:element name="Geboortedatum" type="xsd:date"/>
<xsd:element name="Geslacht">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"/>
<xsd:enumeration value="V"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Sofinummer">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{9}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Straatnaam" type="xsd:string"/>
<xsd:element name="Huisnummer" type="xsd:string"/>
<xsd:element name="Woonplaats" type="xsd:string"/>
<!--xsd:element name="Postcode" type="xsd:string"/-->
<xsd:element name="Postcode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{4} [A-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Zrn">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1000000"/>
<xsd:maxInclusive value="99999999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Here are the steps I took.
DECLARE
res BOOLEAN;
BEGIN
res := DBMS_XDB.createResource('/xsd/relaties.xsd',
bfilename('XSDDIR', 'relaties.xsd')
END;
DECLARE
res BOOLEAN;
BEGIN
res := DBMS_XDB.createResource('/xsd/relaties_v2.xsd',
bfilename('XSDDIR', 'relaties_v2.xsd')
END;
BEGIN
DBMS_XMLSCHEMA.registerSchema(
'http://localhost:8080/xsd/relaties.xsd',
XDBURIType('/xsd/relaties.xsd').getClob(),
TRUE,
FALSE,
FALSE,
TRUE);
END;
CREATE
TABLE relatie_documenten OF XMLTYPE
XMLSCHEMA "http://localhost:8080/xsd/relaties.xsd"
ELEMENT "Relatie"
CREATE OR REPLACE
TRIGGER upo_rdt_ai
AFTER INSERT ON relatie_documenten
FOR EACH ROW
DECLARE
doc XMLType;
BEGIN
doc := :new.SYS_NC_ROWINFO$;
XMLType.schemaValidate(doc);
END;
Then I inserted some xml documents into the table relatie_documenten. The XSD worked fine.
Then I executed the following statement:
BEGIN
DBMS_XMLSCHEMA.copyEvolve
( schemaURLs => xdb$string_list_t('http://localhost:8080/xsd/relaties.xsd')
, newSchemas => XMLSequenceType(XDBURIType('/xsd/relaties_v2.xsd').getXML())
, preserveOldDocs => TRUE
, mapTabName => 'RELATIE_DOCUMENTEN_TEMP'
, generateTables => FALSE
END;
This resulted in:
ERROR at line 1:
ORA-30945: Could not create mapping table 'RELATIE_DOCUMENTEN_TEMP'
ORA-00600: internal error code, arguments: [kqludp2], [0x66AB407C], [0], [],
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 113
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 210
ORA-06512: at line 2
I checked system priviliges as documented in XML DB Developers Guide, Chapter 8 XML Schema Evolution. No other users were connected. The mapping table RELATIE_DOCUMENTEN_TEMP nor any other object named RELATIE_DOCUMENTEN_TEMP did not exist.
Anyone an idea why I cannot create my mapping table ?
GregorWhich release / platform are you working with
With 10.2.0.2.1 on Widows I get
SQL> var schemaURL varchar2(256)
SQL> var schemaPath varchar2(256)
SQL> --
SQL> begin
2 :schemaURL := 'http://localhost:8080/xsd/relaties.xsd';
3 :schemaPath := '/public/relaties.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Call completed.
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5 xmlns:xdb="http://xmlns.oracle.com/xdb"
6 elementFormDefault="unqualified"
7 attributeFormDefault="unqualified"
8 version="1.0">
9 <xsd:element name="Relatie" xdb:defaultTable="">
10 <xsd:complexType>
11 <xsd:sequence>
12 <xsd:element name="Voornaam" type="xsd:string"/>
13 <xsd:element name="Achternaam" type="xsd:string"/>
14 <xsd:element name="Tussenvoegsel" type="xsd:string"/>
15 <xsd:element name="Geboortedatum" type="xsd:date"/>
16 <xsd:element name="Geslacht">
17 <xsd:simpleType>
18 <xsd:restriction base="xsd:string">
19 <xsd:enumeration value="M"/>
20 <xsd:enumeration value="V"/>
21 </xsd:restriction>
22 </xsd:simpleType>
23 </xsd:element>
24 <xsd:element name="Sofinummer">
25 <xsd:simpleType>
26 <xsd:restriction base="xsd:string">
27 <xsd:pattern value="\d{9}"/>
28 </xsd:restriction>
29 </xsd:simpleType>
30 </xsd:element>
31 <xsd:element name="Straatnaam" type="xsd:string"/>
32 <xsd:element name="Huisnummer" type="xsd:string"/>
33 <xsd:element name="Woonplaats" type="xsd:string"/>
34 <!--xsd:element name="Postcode" type="xsd:string"/-->
35 <xsd:element name="Postcode">
36 <xsd:simpleType>
37 <xsd:restriction base="xsd:string">
38 <xsd:pattern value="\d{4} [A-Z]{2}"/>
39 </xsd:restriction>
40 </xsd:simpleType>
41 </xsd:element>
42 <xsd:element name="Zrn">
43 <xsd:simpleType>
44 <xsd:restriction base="xsd:integer">
45 <xsd:minInclusive value="1000000"/>
46 <xsd:maxInclusive value="99999999999999"/>
47 </xsd:restriction>
48 </xsd:simpleType>
49 </xsd:element>
50 </xsd:sequence>
51 </xsd:complexType>
52 </xsd:element>
53 </xsd:schema>');
54 begin
55 if (dbms_xdb.existsResource(:schemaPath)) then
56 dbms_xdb.deleteResource(:schemaPath);
57 end if;
58 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
59 end;
60 /
PL/SQL procedure successfully completed.
SQL> BEGIN
2 DBMS_XMLSCHEMA.registerSchema(
3 :schemaURL,
4 XDBURIType(:schemaPath).getClob(),
5 TRUE,
6 FALSE,
7 FALSE,
8 TRUE);
9 END;
10 /
PL/SQL procedure successfully completed.
SQL> DROP TABLE relatie_documenten FORCE
2 /
Table dropped.
SQL> CREATE TABLE relatie_documenten OF XMLTYPE
2 XMLSCHEMA "http://localhost:8080/xsd/relaties.xsd"
3 ELEMENT "Relatie"
4 /
Table created.
SQL> CREATE OR REPLACE TRIGGER upo_rdt_ai
2 AFTER INSERT ON relatie_documenten
3 FOR EACH ROW
4 DECLARE
5 doc XMLType;
6 BEGIN
7 doc := :new.SYS_NC_ROWINFO$;
8 XMLType.schemaValidate(doc);
9 END;
10 /
Trigger created.
SQL> INSERT
2 INTO relatie_documenten
3 VALUES (XMLType
4 ('<Relatie>
5 <Voornaam>Johan</Voornaam>
6 <Achternaam>Hermans</Achternaam>
7 <Tussenvoegsel/>
8 <Geboortedatum>1978-01-02</Geboortedatum>
9 <Geslacht>M</Geslacht>
10 <Sofinummer>233300417</Sofinummer>
11 <Straatnaam>Stationstraat</Straatnaam>
12 <Huisnummer>10</Huisnummer>
13 <Woonplaats>Weesp</Woonplaats>
14 <Postcode>1383 AK</Postcode>
15 <Zrn>1234567</Zrn>
16 </Relatie>'
17 ).CreateSchemaBasedXML(:schemaURL))
18 /
1 row created.
SQL> commit
2 /
Commit complete.
SQL> INSERT
2 INTO relatie_documenten
3 VALUES (XMLType
4 ('<Relatie>
5 <Voornaam>Johanna</Voornaam>
6 <Achternaam>Gurts</Achternaam>
7 <Tussenvoegsel/>
8 <Geboortedatum>1975-11-12</Geboortedatum>
9 <Geslacht>V</Geslacht>
10 <Sofinummer>234109807</Sofinummer>
11 <Straatnaam>Stationstraat</Straatnaam>
12 <Huisnummer>10</Huisnummer>
13 <Woonplaats>Weesp</Woonplaats>
14 <Postcode>1383 AK</Postcode>
15 <Zrn>7654321</Zrn>
16 </Relatie>').CreateSchemaBasedXML(:schemaURL))
17 /
1 row created.
SQL> commit
2 /
Commit complete.
SQL> INSERT
2 INTO relatie_documenten
3 VALUES (XMLType
4 ('<Relatie>
5 <Voornaam>Johanna</Voornaam>
6 <Achternaam>Gurts</Achternaam>
7 <Tussenvoegsel/>
8 <Geboortedatum>1975-11-12</Geboortedatum>
9 <Geslacht>O</Geslacht>
10 <Sofinummer>234109807</Sofinummer>
11 <Straatnaam>Stationstraat</Straatnaam>
12 <Huisnummer>10</Huisnummer>
13 <Woonplaats>Weesp</Woonplaats>
14 <Postcode>1383 AK</Postcode>
15 <Zrn>7654321</Zrn>
16 </Relatie>').CreateSchemaBasedXML(:schemaURL))
17 /
VALUES (XMLType
ERROR at line 3:
ORA-31038: Invalid enumeration value: "O"
ORA-06512: at "SYS.XMLTYPE", line 345
ORA-06512: at "SCOTT.UPO_RDT_AI", line 5
ORA-04088: error during execution of trigger 'SCOTT.UPO_RDT_AI'
SQL> commit
2 /
Commit complete.
SQL> declare
2 xmlschema xmltype;
3 res boolean;
4 begin
5 select xdburitype(:schemaPath).getXML()
6 into xmlSchema
7 from dual;
8 dbms_xdb.deleteResource(:schemaPath);
9 select insertChildXML
10 (
11 xmlschema,
12 '/xsd:schema//xsd:element[@name="Geslacht"]/xsd:simpleType/xsd:restriction',
13 'xsd:enumeration',
14 xmltype('<xsd:enumeration xmlns:xsd="http://www.w3.org/2001/XMLSchema" value="O"/>'),
15 'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
16 )
17 into xmlSchema
18 from dual;
19 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
20 end;
21 /
PL/SQL procedure successfully completed.
SQL> commit
2 /
Commit complete.
SQL> set long 100000 pages 200 lines 140
SQL> --
SQL> select xdburitype(:schemaPath).getXML()
2 from dual
3 /
XDBURITYPE(:SCHEMAPATH).GETXML()
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb" elementFormDefault="unqualified" attributeF
ormDefault="unqualified" version="1.0">
<xsd:element name="Relatie" xdb:defaultTable="">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Voornaam" type="xsd:string"/>
<xsd:element name="Achternaam" type="xsd:string"/>
<xsd:element name="Tussenvoegsel" type="xsd:string"/>
<xsd:element name="Geboortedatum" type="xsd:date"/>
<xsd:element name="Geslacht">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"/>
<xsd:enumeration value="V"/>
<xsd:enumeration xmlns:xsd="http://www.w3.org/2001/XMLSchema" value="O"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Sofinummer">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{9}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Straatnaam" type="xsd:string"/>
<xsd:element name="Huisnummer" type="xsd:string"/>
<xsd:element name="Woonplaats" type="xsd:string"/>
<!--xsd:element name="Postcode" type="xsd:string"/-->
<xsd:element name="Postcode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{4} [A-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Zrn">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1000000"/>
<xsd:maxInclusive value="99999999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
SQL> DROP TABLE RELATIE_DOCUMENTEN_TEMP
2 /
Table dropped.
SQL> BEGIN
2 DBMS_XMLSCHEMA.copyEvolve
3 ( schemaURLs => xdb$string_list_t(:schemaURL)
4 , newSchemas => XMLSequenceType(XDBURIType(:schemaPath).getXML())
5 , preserveOldDocs => TRUE
6 , mapTabName => 'RELATIE_DOCUMENTEN_TEMP'
7 , generateTables => FALSE
8 );
9 END;
10 /
PL/SQL procedure successfully completed.
SQL> CREATE TABLE relatie_documenten OF XMLTYPE
2 XMLSCHEMA "http://localhost:8080/xsd/relaties.xsd"
3 ELEMENT "Relatie"
4 /
Table created.
SQL> CREATE OR REPLACE TRIGGER upo_rdt_ai
2 AFTER INSERT ON relatie_documenten
3 FOR EACH ROW
4 DECLARE
5 doc XMLType;
6 BEGIN
7 doc := :new.SYS_NC_ROWINFO$;
8 XMLType.schemaValidate(doc);
9 END;
10 /
Trigger created.
SQL> declare
2 tablename varchar2(2000);
3 begin
4 select temp_tabname
5 into tablename
6 from RELATIE_DOCUMENTEN_TEMP
7 where table_name = USER || '.' || upper('relatie_documenten');
8 execute immediate 'insert into relatie_documenten select xmltype(data) from ' || tablename;
9 commit;
10 end;
11 /
PL/SQL procedure successfully completed.
SQL> select *
2 from relatie_documenten
3 /
SYS_NC_ROWINFO$
<Relatie>
<Voornaam>Johan</Voornaam>
<Achternaam>Hermans</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1978-01-02</Geboortedatum>
<Geslacht>M</Geslacht>
<Sofinummer>233300417</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>1234567</Zrn>
</Relatie>
<Relatie>
<Voornaam>Johanna</Voornaam>
<Achternaam>Gurts</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1975-11-12</Geboortedatum>
<Geslacht>V</Geslacht>
<Sofinummer>234109807</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>7654321</Zrn>
</Relatie>
SQL> INSERT
2 INTO relatie_documenten
3 VALUES (XMLType
4 ('<Relatie>
5 <Voornaam>Johanna</Voornaam>
6 <Achternaam>Gurts</Achternaam>
7 <Tussenvoegsel/>
8 <Geboortedatum>1975-11-12</Geboortedatum>
9 <Geslacht>O</Geslacht>
10 <Sofinummer>234109807</Sofinummer>
11 <Straatnaam>Stationstraat</Straatnaam>
12 <Huisnummer>10</Huisnummer>
13 <Woonplaats>Weesp</Woonplaats>
14 <Postcode>1383 AK</Postcode>
15 <Zrn>7654321</Zrn>
16 </Relatie>').CreateSchemaBasedXML(:schemaURL))
17 /
1 row created.
SQL> commit
2 /
Commit complete.
SQL> select *
2 from relatie_documenten
3 /
SYS_NC_ROWINFO$
<Relatie>
<Voornaam>Johan</Voornaam>
<Achternaam>Hermans</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1978-01-02</Geboortedatum>
<Geslacht>M</Geslacht>
<Sofinummer>233300417</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>1234567</Zrn>
</Relatie>
<Relatie>
<Voornaam>Johanna</Voornaam>
<Achternaam>Gurts</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1975-11-12</Geboortedatum>
<Geslacht>V</Geslacht>
<Sofinummer>234109807</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>7654321</Zrn>
</Relatie>
<Relatie>
<Voornaam>Johanna</Voornaam>
<Achternaam>Gurts</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1975-11-12</Geboortedatum>
<Geslacht>O</Geslacht>
<Sofinummer>234109807</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>7654321</Zrn>
</Relatie>
SQL>Here's the SQL, can you cut'n'paste and run the whole thing as XML_OWNER
var schemaURL varchar2(256)
var schemaPath varchar2(256)
begin
:schemaURL := 'http://localhost:8080/xsd/relaties.xsd';
:schemaPath := '/public/relaties.xsd';
end;
call dbms_xmlSchema.deleteSchema(:schemaURL,4)
declare
res boolean;
xmlSchema xmlType := xmlType(
'<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
version="1.0">
<xsd:element name="Relatie" xdb:defaultTable="">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Voornaam" type="xsd:string"/>
<xsd:element name="Achternaam" type="xsd:string"/>
<xsd:element name="Tussenvoegsel" type="xsd:string"/>
<xsd:element name="Geboortedatum" type="xsd:date"/>
<xsd:element name="Geslacht">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"/>
<xsd:enumeration value="V"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Sofinummer">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{9}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Straatnaam" type="xsd:string"/>
<xsd:element name="Huisnummer" type="xsd:string"/>
<xsd:element name="Woonplaats" type="xsd:string"/>
<!--xsd:element name="Postcode" type="xsd:string"/-->
<xsd:element name="Postcode">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{4} [A-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Zrn">
<xsd:simpleType>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="1000000"/>
<xsd:maxInclusive value="99999999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>');
begin
if (dbms_xdb.existsResource(:schemaPath)) then
dbms_xdb.deleteResource(:schemaPath);
end if;
res := dbms_xdb.createResource(:schemaPath,xmlSchema);
end;
BEGIN
DBMS_XMLSCHEMA.registerSchema(
:schemaURL,
XDBURIType(:schemaPath).getClob(),
TRUE,
FALSE,
FALSE,
TRUE);
END;
DROP TABLE relatie_documenten FORCE
CREATE TABLE relatie_documenten OF XMLTYPE
XMLSCHEMA "http://localhost:8080/xsd/relaties.xsd"
ELEMENT "Relatie"
CREATE OR REPLACE TRIGGER upo_rdt_ai
AFTER INSERT ON relatie_documenten
FOR EACH ROW
DECLARE
doc XMLType;
BEGIN
doc := :new.SYS_NC_ROWINFO$;
XMLType.schemaValidate(doc);
END;
INSERT
INTO relatie_documenten
VALUES (XMLType
('<Relatie>
<Voornaam>Johan</Voornaam>
<Achternaam>Hermans</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1978-01-02</Geboortedatum>
<Geslacht>M</Geslacht>
<Sofinummer>233300417</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>1234567</Zrn>
</Relatie>'
).CreateSchemaBasedXML(:schemaURL))
commit
INSERT
INTO relatie_documenten
VALUES (XMLType
('<Relatie>
<Voornaam>Johanna</Voornaam>
<Achternaam>Gurts</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1975-11-12</Geboortedatum>
<Geslacht>V</Geslacht>
<Sofinummer>234109807</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>7654321</Zrn>
</Relatie>').CreateSchemaBasedXML(:schemaURL))
commit
INSERT
INTO relatie_documenten
VALUES (XMLType
('<Relatie>
<Voornaam>Johanna</Voornaam>
<Achternaam>Gurts</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1975-11-12</Geboortedatum>
<Geslacht>O</Geslacht>
<Sofinummer>234109807</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>7654321</Zrn>
</Relatie>').CreateSchemaBasedXML(:schemaURL))
commit
declare
xmlschema xmltype;
res boolean;
begin
select xdburitype(:schemaPath).getXML()
into xmlSchema
from dual;
dbms_xdb.deleteResource(:schemaPath);
select insertChildXML
xmlschema,
'/xsd:schema//xsd:element[@name="Geslacht"]/xsd:simpleType/xsd:restriction',
'xsd:enumeration',
xmltype('<xsd:enumeration xmlns:xsd="http://www.w3.org/2001/XMLSchema" value="O"/>'),
'xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
into xmlSchema
from dual;
res := dbms_xdb.createResource(:schemaPath,xmlSchema);
end;
commit
set long 100000 pages 200 lines 140
select xdburitype(:schemaPath).getXML()
from dual
DROP TABLE RELATIE_DOCUMENTEN_TEMP
BEGIN
DBMS_XMLSCHEMA.copyEvolve
( schemaURLs => xdb$string_list_t(:schemaURL)
, newSchemas => XMLSequenceType(XDBURIType(:schemaPath).getXML())
, preserveOldDocs => TRUE
, mapTabName => 'RELATIE_DOCUMENTEN_TEMP'
, generateTables => FALSE
END;
CREATE TABLE relatie_documenten OF XMLTYPE
XMLSCHEMA "http://localhost:8080/xsd/relaties.xsd"
ELEMENT "Relatie"
CREATE OR REPLACE TRIGGER upo_rdt_ai
AFTER INSERT ON relatie_documenten
FOR EACH ROW
DECLARE
doc XMLType;
BEGIN
doc := :new.SYS_NC_ROWINFO$;
XMLType.schemaValidate(doc);
END;
declare
tablename varchar2(2000);
begin
select temp_tabname
into tablename
from RELATIE_DOCUMENTEN_TEMP
where table_name = USER || '.' || upper('relatie_documenten');
execute immediate 'insert into relatie_documenten select xmltype(data) from ' || tablename;
commit;
end;
select *
from relatie_documenten
INSERT
INTO relatie_documenten
VALUES (XMLType
('<Relatie>
<Voornaam>Johanna</Voornaam>
<Achternaam>Gurts</Achternaam>
<Tussenvoegsel/>
<Geboortedatum>1975-11-12</Geboortedatum>
<Geslacht>O</Geslacht>
<Sofinummer>234109807</Sofinummer>
<Straatnaam>Stationstraat</Straatnaam>
<Huisnummer>10</Huisnummer>
<Woonplaats>Weesp</Woonplaats>
<Postcode>1383 AK</Postcode>
<Zrn>7654321</Zrn>
</Relatie>').CreateSchemaBasedXML(:schemaURL))
commit
select *
from relatie_documenten
/ -
ORA-19007: Schema - does not match expected T0090.xsd for non xsd owner
I have registered an xsd in /home/divload/xsd/T0090.xsd. User "prmt" is the owner of this resource. User prmt can schemavalidate xml against this xsd just as it is now. However, I have package code in "prmt_app" user account that will actually do the schemavalidate - not prmt user. When I run the exact same code using the exact same xml with the T0090.xsd above I am getting ORA-19007: Schema - does not match expected T0090.xsd. prmt_app has "all" privs on "/home", "/home/divload", "/home/divload/xsd", and "/home/divload/xsd/T0090.xsd". What am I missing?
XSD header info
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb">
<xs:element name="T0090" xdb:defaultTable="T0090">
...XML header info
<?xml version="1.0" encoding="ISO-8859-1"?>
<T0090 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="T0090.xsd">
<PERMIT>
...The error occurs when I am inserting into this table off disk..
create table prmt.cview_xml (filename varchar2(256), xmldoc xmltype) xmltype xmldoc xmlschema "T0090.xsd" element "T0090";
Edited by: Mark Reichman on Jun 28, 2010 2:42 PMI did all that before posting the orignial post..
declare
v_schema_exists varchar2(1) := 'N';
res boolean;
schemaURL varchar2(100) := 'T0090.xsd';
schemaPath varchar2(100) := '/prmt/xsd/T0090.xsd'; --'/public/T0090.xsd';
xmlSchema xmlType := XMLTYPE(bfilename('DIR_PRMT_OUT_CVIEW','T0090.xsd'),NLS_CHARSET_ID('AL32UTF8'));
begin
begin
select 'Y'
into v_schema_exists
from sys.all_xml_schemas -- changed from user_xml_schemas
where schema_url = schemaURL;
dbms_xmlSchema.deleteSchema(schemaURL,4);
exception
when NO_DATA_FOUND then
null;
end;
if (dbms_xdb.existsResource(schemaPath)) then
dbms_xdb.deleteResource(schemaPath);
end if;
res := dbms_xdb.createResource(schemaPath,xmlSchema);
dbms_xmlschema.registerSchema ( schemaURL, xdbURIType(schemaPath).getClob(), TRUE, TRUE, FALSE, TRUE );
end;
/ I guess my understanding was that I could grant another oracle user access to my registered schema just like I can grant a single user access to a table. Evidently I only have two options. Only the schema owner can use the schema or everyone can use the schema and I cannot grant access to a single user other than myself.
Edited by: Mark Reichman on Jul 2, 2010 9:08 AM
Edited by: Mark Reichman on Jul 2, 2010 9:09 AM -
Hi,
I want to load a XML document in structured XMLType. You can run my code on your database if you have a directory object called LOG_DIR. I am on Oracle 10.1 .
The schema is a simple example which describe a database table(like it will have 1 or more columns and 0 or more indexes). My schema looks like,
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Tables" type="Table">
<xs:annotation>
<xs:documentation>Table defination</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="table_name" type="xs:string"/>
<xs:complexType name="Table">
<xs:sequence>
<xs:element name="Column" type="Column" minOccurs="1"/>
<xs:element name="Index" type="Index" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Column">
<xs:annotation>
<xs:documentation>Column of the table</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="1"/>
<xs:element name="Type" type="xs:string" minOccurs="1"/>
<xs:element name="Capacity" type="xs:decimal" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Index">
<xs:annotation>
<xs:documentation>Index on the table</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="1"/>
<xs:element name="Type" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
I registered the schema,
BEGIN
DBMS_XMLSCHEMA.registerSchema(
SCHEMAURL => 'tables.xsd',
SCHEMADOC => bfilename('LOG_DIR','tables.xsd'),
CSID => nls_charset_id('AL32UTF8')
END;
This was successfull, also the following create table was ok,
CREATE TABLE TMP_XML_TABLES
file_name VARCHAR2(2000),
load_date DATE,
xml_document XMLType
XMLType COLUMN xml_document
XMLSchema "http://xmlns.oracle.com/xdb/schemas/TDB/tables.xsd"
ELEMENT "Tables";
Now I have a XML document,
<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/xdb/schemas/TDB/tables.xsd">
<table_name>trades</table_name>
<Column><Name>trade_id</Name><Type>varchar2</Type><Capacity>50</Capacity></Column>
<Column><Name>source</Name><Type>varchar2</Type><Capacity>100</Capacity></Column>
<Column><Name>trade_date</Name><Type>date</Type></Column>
<Column><Name>trader</Name><Type>varchar2</Type><Capacity>200</Capacity></Column>
<Index><Name>trades_pk</Name><Type>btree</Type></Index>
<Index><Name>trades_idx1</Name><Type>bitmap</Type></Index>
</Tables>
When I am trying to load this, I get the error,
SQL> INSERT INTO TMP_XML_TABLES
2 VALUES
3 ('tables1.xml',
4 sysdate,
5 XMLType
6 (
7 bfilename('LOG_DIR','tables1.xml'),
8 nls_charset_id('AL32UTF8')
9 )
10 );
INSERT INTO TMP_XML_TABLES
ERROR at line 1:
ORA-19007: Schema - does not match expected tables.xsd.
Can somebody please explain the cause ???
Thanks and RegardsA quick search of the forum for ORA-19007 should have allowed you to find the answer to your problem. Since you XML Schema does not declare a target namespace you need to use the xsi:noNamespaceSchemaLocation tag rather than the schemaLocation tag..
Also please do not use URLs starting http://xmlns.oracle.com for your schemaLocation hint. If you do no own your own domain I'd suggest example.org...
Finally please make sure that your XML Instance is valid per your XML Schema before posting. You can do this using tools like JDeveloper or XMLSpy. What should have been a 5 min repsonse took me over 20 mins to work through due to the errors in the XML Schema...
Anyway here's a working example for you
SQL>
SQL>
SQL> var schemaURL varchar2(256)
SQL> var schemaPath varchar2(256)
SQL> --
SQL> begin
2 :schemaURL := 'http://xmlns.examples.org/xdb/schemas/TDB/tables.xsd';
3 :schemaPath := '/public/testcase.xsd';
4 end;
5 /
PL/SQL procedure successfully completed.
SQL> DROP TABLE TMP_XML_TABLES
2 /
Table dropped.
SQL> call dbms_xmlSchema.deleteSchema(:schemaURL,4)
2 /
Call completed.
SQL> declare
2 res boolean;
3 xmlSchema xmlType := xmlType(
4 '<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="
tp://xmlns.oracle.com/xdb">
5 <xs:element name="Tables" xdb:defaultTable="TABLES_TABLE">
6 <xs:annotation>
7 <xs:documentation>Table defination</xs:documentation>
8 </xs:annotation>
9 <xs:complexType>
10 <xs:complexContent>
11 <xs:extension base="Table"/>
12 </xs:complexContent>
13 </xs:complexType>
14 </xs:element>
15 <xs:complexType name="Table">
16 <xs:sequence>
17 <xs:element name="table_name" type="xs:string"/>
18 <xs:element name="Column" type="Column" maxOccurs="unbounded"/>
19 <xs:element name="Index" type="Index" minOccurs="0" maxOccurs="unbounded"/>
20 </xs:sequence>
21 </xs:complexType>
22 <xs:complexType name="Column">
23 <xs:annotation>
24 <xs:documentation>Column of the table</xs:documentation>
25 </xs:annotation>
26 <xs:sequence>
27 <xs:element name="Name" type="xs:string"/>
28 <xs:element name="Type" type="xs:string"/>
29 <xs:element name="Capacity" type="xs:decimal"/>
30 </xs:sequence>
31 </xs:complexType>
32 <xs:complexType name="Index">
33 <xs:annotation>
34 <xs:documentation>Index on the table</xs:documentation>
35 </xs:annotation>
36 <xs:sequence>
37 <xs:element name="Name" type="xs:string"/>
38 <xs:element name="Type" type="xs:string" minOccurs="0"/>
39 </xs:sequence>
40 </xs:complexType>
41 </xs:schema>
42 ');
43 begin
44 if (dbms_xdb.existsResource(:schemaPath)) then
45 dbms_xdb.deleteResource(:schemaPath);
46 end if;
47 res := dbms_xdb.createResource(:schemaPath,xmlSchema);
48 end;
49 /
PL/SQL procedure successfully completed.
SQL> begin
2 dbms_xmlschema.registerSchema
3 (
4 :schemaURL,
5 xdbURIType(:schemaPath).getClob(),
6 TRUE,TRUE,FALSE,TRUE
7 );
8 end;
9 /
PL/SQL procedure successfully completed.
SQL> CREATE TABLE TMP_XML_TABLES
2 (
3 file_name VARCHAR2(2000),
4 load_date DATE,
5 xml_document XMLType
6 )
7 XMLType COLUMN xml_document
8 XMLSchema "http://xmlns.examples.org/xdb/schemas/TDB/tables.xsd"
9 ELEMENT "Tables"
10 /
Table created.
SQL> insert into TMP_XML_TABLES values ('testcase1.xml',sysdate,xmltype(
2 '<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.examples.org/xdb/schemas/T
/tables.xsd">
3 <table_name>trades</table_name>
4 <Column>
5 <Name>trade_id</Name>
6 <Type>varchar2</Type>
7 <Capacity>50</Capacity>
8 </Column>
9 <Column>
10 <Name>source</Name>
11 <Type>varchar2</Type>
12 <Capacity>100</Capacity>
13 </Column>
14 <Column>
15 <Name>trade_date</Name>
16 <Type>date</Type>
17 </Column>
18 <Column>
19 <Name>trader</Name>
20 <Type>varchar2</Type>
21 <Capacity>200</Capacity>
22 </Column>
23 <Index>
24 <Name>trades_pk</Name>
25 <Type>btree</Type>
26 </Index>
27 <Index>
28 <Name>trades_idx1</Name>
29 <Type>bitmap</Type>
30 </Index>
31 </Tables>'))
32 /
1 row created.
SQL> set long 10000 pages 0 lines 160
SQL> /
1 row created.
SQL> select * from TMP_XML_TABLES
2 /
testcase1.xml
21-APR-06
<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.examples.org/xdb/schemas/TDB/tab
s.xsd">
<table_name>trades</table_name>
<Column>
<Name>trade_id</Name>
<Type>varchar2</Type>
<Capacity>50</Capacity>
</Column>
<Column>
<Name>source</Name>
<Type>varchar2</Type>
<Capacity>100</Capacity>
</Column>
<Column>
<Name>trade_date</Name>
<Type>date</Type>
</Column>
<Column>
<Name>trader</Name>
<Type>varchar2</Type>
<Capacity>200</Capacity>
</Column>
<Index>
<Name>trades_pk</Name>
<Type>btree</Type>
</Index>
<Index>
<Name>trades_idx1</Name>
<Type>bitmap</Type>
</Index>
</Tables>
testcase1.xml
21-APR-06
<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.examples.org/xdb/schemas/TDB/tab
s.xsd">
<table_name>trades</table_name>
<Column>
<Name>trade_id</Name>
<Type>varchar2</Type>
<Capacity>50</Capacity>
</Column>
<Column>
<Name>source</Name>
<Type>varchar2</Type>
<Capacity>100</Capacity>
</Column>
<Column>
<Name>trade_date</Name>
<Type>date</Type>
</Column>
<Column>
<Name>trader</Name>
<Type>varchar2</Type>
<Capacity>200</Capacity>
</Column>
<Index>
<Name>trades_pk</Name>
<Type>btree</Type>
</Index>
<Index>
<Name>trades_idx1</Name>
<Type>bitmap</Type>
</Index>
</Tables>Since you are tracking metadata about the documents (name, date loaded) you might want to consider using the XDB repository to load the documents. The folllowing shows how you can do this from SQL and then create a view which contains the metadata and document content. The advantage of this approach is you can now load the documents using FTP or WebDAV.
SQL> declare
2 res boolean;
3 document xmltype := xmltype(
4 '<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.examples.org/xdb/schemas/T
/tables.xsd">
5 <table_name>trades</table_name>
6 <Column>
7 <Name>trade_id</Name>
8 <Type>varchar2</Type>
9 <Capacity>50</Capacity>
10 </Column>
11 <Column>
12 <Name>source</Name>
13 <Type>varchar2</Type>
14 <Capacity>100</Capacity>
15 </Column>
16 <Column>
17 <Name>trade_date</Name>
18 <Type>date</Type>
19 </Column>
20 <Column>
21 <Name>trader</Name>
22 <Type>varchar2</Type>
23 <Capacity>200</Capacity>
24 </Column>
25 <Index>
26 <Name>trades_pk</Name>
27 <Type>btree</Type>
28 </Index>
29 <Index>
30 <Name>trades_idx1</Name>
31 <Type>bitmap</Type>
32 </Index>
33 </Tables>');
34 begin
35 res := dbms_xdb.createResource('/public/testcase.xml',document);
36 end;
37 /
PL/SQL procedure successfully completed.
SQL> create or replace view TMP_XML_TABLES_VIEW as
2 select extractValue(res,'/Resource/DisplayName') FILENAME,
3 extractValue(res,'/Resource/CreationDate') LOAD_DATE,
4 object_value XML_DOCUMENT
5 from RESOURCE_VIEW, TABLES_TABLE t
6 where extractValue(res,'/Resource/XMLRef')= ref(t)
7 /
View created.
SQL> select * from TABLES_TABLE
2 /
<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.examples.org/xdb/schemas/TDB/tab
s.xsd">
<table_name>trades</table_name>
<Column>
<Name>trade_id</Name>
<Type>varchar2</Type>
<Capacity>50</Capacity>
</Column>
<Column>
<Name>source</Name>
<Type>varchar2</Type>
<Capacity>100</Capacity>
</Column>
<Column>
<Name>trade_date</Name>
<Type>date</Type>
</Column>
<Column>
<Name>trader</Name>
<Type>varchar2</Type>
<Capacity>200</Capacity>
</Column>
<Index>
<Name>trades_pk</Name>
<Type>btree</Type>
</Index>
<Index>
<Name>trades_idx1</Name>
<Type>bitmap</Type>
</Index>
</Tables>
SQL> select * from TMP_XML_TABLES_VIEW
2 /
testcase.xml
21-APR-06 02.21.37.031000 PM
<Tables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.examples.org/xdb/schemas/TDB/tab
s.xsd">
<table_name>trades</table_name>
<Column>
<Name>trade_id</Name>
<Type>varchar2</Type>
<Capacity>50</Capacity>
</Column>
<Column>
<Name>source</Name>
<Type>varchar2</Type>
<Capacity>100</Capacity>
</Column>
<Column>
<Name>trade_date</Name>
<Type>date</Type>
</Column>
<Column>
<Name>trader</Name>
<Type>varchar2</Type>
<Capacity>200</Capacity>
</Column>
<Index>
<Name>trades_pk</Name>
<Type>btree</Type>
</Index>
<Index>
<Name>trades_idx1</Name>
<Type>bitmap</Type>
</Index>
</Tables>
SQL>
SQL>
SQL> -
ORA-04030: out of process memory Loading Large XML File
Experts: I am trying to load a 2.1G XML file into an Object Relational table . The xml schema document xsd is already registered successfully. It fails with the following error :
ORA-04030: out of process memory when trying to allocate 4032 bytes
(qmxtgCreateBuf,kghsseg: kolaslCreateCtx)
ORA-06512: at "SYS.XMLTYPE", line 296
ORA-06512: at line 1I am able to load the document successfully in SECUREFILE BINARY XML table but that would not work as I need to create relational view on top of this table which does not work with SECUREFILE BINARY XML storage.
Please suggest what may be the workaround here?
Thanks
KevinMDrake: I am trying to load like this:
insert into TEST_HUGE_XML
values(
xmltype(
bfilename('XMLDIR', 'huge_xmldoc.xml')
, nls_charset_id('AL32UTF8')
, 'huge_xmldoc.xsd'
db version: 11.2.0.3I saw an example of loading using createresource API here:
http://www.oracle-developer.net/display.php?id=416
SQL> DECLARE
2 v_return BOOLEAN;
3 BEGIN
4 v_return := DBMS_XDB.CREATERESOURCE(
5 abspath => '/public/demo/xml/db_objects.xml',
6 data => BFILENAME('XML_DIR', 'db_objects.xml')
7 );
8 COMMIT;
9 END;
10 /
PL/SQL procedure successfully completed.How do i load the huge xml document in my custom object relational table which was created like this:
CREATE TABLE HUGE_XML OF XMLTYPE
XMLTYPE STORE AS OBJECT RELATIONAL
XMLSCHEMA "huge_xmldoc.xsd"
ELEMENT "root_element"
Thanks
Edited by: Kevin_K on Feb 8, 2013 9:35 AM
Maybe you are looking for
-
My wife & I use the same Mac (running Lion) to share address book, Calendar. Now with iCloud we have separate Clouds for each device. We need to still sync to the on Mac. How do we acheive this? My iCloud works fine but not the wife's.
-
Adding an entire album to a play list in the remote app?
Hi, When generating a play list in the remote app (on ipad) I can add single tracks. But if I want to add several albums I need to add every single track of each album. Is there a way to add (and remove) an entire album at once? KM
-
Clicking noise from back left of MBP -- speaker maybe?
Hi all, I have a clicking noise coming from the back left of my MBP and I'm wondering if anyone else has this problem, has any suggestions, or knows if it is potentially bad. I saw the long thread about a 'pop' noise here: http://discussions.apple.co
-
Linking two computers together
Can I link two macs together so I have access to both but the other computer doesn't have access to mine?
-
Newbie question for the group: As I write and collect scripts I find myself spending more and more time searching for something I've already written. Is there a "best practice" for naming and script file location I should follow? Or is it whatever su