Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

inserting xml content in OR storage mode : ORA-31041

soutouMar 3 2020 — edited Mar 3 2020

Hi, I would like insert the following document :

Tests made in 18cXE and 19EE

<?xml version="1.0" encoding="UTF-8"?>

<vol numero="AF6143"

xsi:noNamespaceSchemaLocation="'http://www.eyrolles.fr/vols-or.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <date_vol>2020-02-20</date_vol>

  <depart>TLS</depart>

  <arrivee>ORY</arrivee> 

</vol>

according to this xml schema

<xs:schema  xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:xdb="http://xmlns.oracle.com/xdb" >

  <xs:element name="vol" type="volType" xdb:defaultTable=""/>

  <xs:complexType name="volType"  xdb:SQLType="TYP_VOL" >

    <xs:sequence>

      <xs:element type="xs:date" name="date_vol" xdb:SQLName="DATE_VOL" xdb:SQLType="DATE"/>

      <xs:element name="depart" minOccurs="1" xdb:SQLName="DEPART" xdb:SQLType="VARCHAR2">

      <xs:simpleType>

      <xs:restriction base="xs:string">

      <xs:maxLength value="3"/></xs:restriction></xs:simpleType>

    </xs:element>

      <xs:element name="arrivee"  minOccurs="1" xdb:SQLName="ARRIVEE"  xdb:SQLType="VARCHAR2">

      <xs:simpleType>

      <xs:restriction base="xs:string">

      <xs:maxLength value="3"/></xs:restriction></xs:simpleType>

    </xs:element>

    </xs:sequence>

    <xs:attribute type="xs:string" name="numero" xdb:SQLName="NUMERO"  xdb:SQLType="NUMBER"/>

  </xs:complexType>

</xs:schema>

recorded with

BEGIN

  DBMS_XMLSCHEMA.REGISTERSCHEMA(

    schemaurl => 'http://www.eyrolles.fr/vols-or.xsd',

    schemadoc => BFILENAME('REPXML','vols-or.xsd'),

    gentypes  => TRUE,

    gentables => FALSE, 

    csid      => NLS_CHARSET_ID('AL32UTF8'));

END;

/

in this table

CREATE TABLE t_doc_xml OF XMLTYPE

XMLTYPE STORE AS OBJECT RELATIONAL

  XMLSCHEMA "http://www.eyrolles.fr/vols-or.xsd" ELEMENT "vol";

SQL> INSERT INTO t_doc_xml VALUES

  2    (XMLTYPE (XMLDATA  => BFILENAME('REPXML','vol_6143-grammaire.xml'),

  3         csid  => NLS_CHARSET_ID('AL32UTF8')));

*

ERREUR à la ligne 1 :

ORA-31041: Propriété numero : le type de mémoire (1) n'est pas compatible avec

celui de la base de données (2)

The same result appears whatever the content is.

This post has been answered by odie_63 on Mar 3 2020
Jump to Answer
Comments
Post Details
Added on Mar 3 2020
4 comments
205 views