ORA-00957 duplicate column name
629516Feb 26 2011 — edited Mar 12 2011Hello, dear xmldb specialists
There is the next issue I just caught.
It happens when I try to select insert data and the database seems to become broken after that so all data which was added before is lost!
Check it please and give me some suggestions how to fix it at least temporary
--Archive2Base
INSERT INTO "ARCHIVE2ROOTN_TAB"
VALUES
(XMLType('<root:Archive2Root
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:root="http://archive2.isrvs2.rosbank.croc.ru/Archive2Root/v1.0"
xmlns:abst="http://archive2.isrvs2.rosbank.croc.ru/Archive2Abstract/v1.0"
xmlns:base="http://archive2.isrvs2.rosbank.croc.ru/Archive2Base/v1.0"
xsi:schemaLocation="http://archive2.isrvs2.rosbank.croc.ru/Archive2Root/v1.0 Archive2Root.xsd http://archive2.isrvs2.rosbank.croc.ru/Archive2Abstract/v1.0 Archive2Abstract.xsd http://archive2.isrvs2.rosbank.croc.ru/Archive2Base/v1.0 Archive2Base.xsd">
<abst:Archive2Abstract>
<base:Archive2Base>
<base:ts>2010-12-28T14:00:00</base:ts>
</base:Archive2Base>
</abst:Archive2Abstract>
</root:Archive2Root>
'));
Archive2Root.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:root="http://archive2.isrvs2.rosbank.croc.ru/Archive2Root/v1.0"
targetNamespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2Root/v1.0"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xsd:complexType name="Archive2RootDescendant" xdb:SQLType="ARCHIVE2_ROOT_DESC_T">
<xsd:sequence>
<xsd:element name="stub" xdb:SQLName="STUBN" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Archive2RootDescendant" xdb:SQLName="ARCHIVE2ROOTDESCN" type="root:Archive2RootDescendant" xdb:defaultTable=""/>
<xsd:complexType name="Archive2Root" xdb:SQLType="ARCHIVE2_ROOT_T">
<xsd:sequence>
<xsd:element ref="root:Archive2RootDescendant" xdb:SQLName="ARCHIVE2ROOTDESCR" minOccurs="0" maxOccurs="unbounded" xdb:SQLInline="false" xdb:defaultTable="ARCHIVE2ROOTDESCR_TAB"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Archive2Root" xdb:SQLName="ARCHIVE2ROOTN" type="root:Archive2Root" xdb:defaultTable="ARCHIVE2ROOTN_TAB"/>
</xsd:schema>
Archive2Abstract.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:abst="http://archive2.isrvs2.rosbank.croc.ru/Archive2Abstract/v1.0"
xmlns:root="http://archive2.isrvs2.rosbank.croc.ru/Archive2Root/v1.0"
targetNamespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2Abstract/v1.0"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xsd:import schemaLocation="Archive2Root.xsd" namespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2Root/v1.0"/>
<xsd:complexType name="Archive2AbstractDescendant" xdb:SQLType="ARCHIVE2_ABSTRACT_DESC_T">
<xsd:sequence>
<xsd:element name="stub" xdb:SQLName="STUBN" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Archive2AbstractDescendant" xdb:SQLName="ARCHIVE2ABSTRACTDESCN" type="abst:Archive2AbstractDescendant" xdb:defaultTable=""/>
<!-- Абстрактный тип данных -->
<xsd:complexType name="Archive2Abstract" xdb:SQLType="ARCHIVE2_ABSTRACT_T">
<xsd:annotation>
<xsd:documentation>Объект архива</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="root:Archive2RootDescendant">
<xsd:sequence>
<xsd:element ref="abst:Archive2AbstractDescendant" xdb:SQLName="ARCHIVE2ABSTRACTDESCR" minOccurs="0" maxOccurs="unbounded" xdb:SQLInline="false" xdb:defaultTable="ARCHIVE2ABSTRACTDESCR_TAB"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Archive2Abstract" xdb:SQLName="ARCHIVE2ABSTRACTN" type="abst:Archive2Abstract" substitutionGroup="root:Archive2RootDescendant" xdb:defaultTable=""/>
</xsd:schema>
Archive2Base.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:base="http://archive2.isrvs2.rosbank.croc.ru/Archive2Base/v1.0"
xmlns:abst="http://archive2.isrvs2.rosbank.croc.ru/Archive2Abstract/v1.0"
targetNamespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2Base/v1.0"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xsd:import schemaLocation="Archive2Abstract.xsd"
namespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2Abstract/v1.0" />
<xsd:complexType name="Archive2BaseDescendant"
xdb:SQLType="ARCHIVE2_BASE_DESC_T">
<xsd:sequence>
<xsd:element name="stub" xdb:SQLName="STUBN" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Archive2BaseDescendant" xdb:SQLName="ARCHIVE2BASEDESCN"
type="base:Archive2BaseDescendant"
xdb:defaultTable="" />
<!-- Базовый тип данных -->
<xsd:complexType name="Archive2Base"
xdb:SQLType="ARCHIVE2_BASE_T">
<xsd:annotation>
<xsd:documentation>Базовый объект архива</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="abst:Archive2AbstractDescendant">
<xsd:sequence>
<xsd:element ref="base:Archive2BaseDescendant" xdb:SQLName="ARCHIVE2BASEDESCR"
minOccurs="0" maxOccurs="unbounded" xdb:SQLInline="false"
xdb:defaultTable="ARCHIVE2BASEDESCR_TAB" />
<xsd:element name="ts" xdb:SQLName="TSN" type="xsd:string">
<xsd:annotation>
<xsd:documentation>Время создания</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Archive2Base" xdb:SQLName="ARCHIVE2BASEN" type="base:Archive2Base"
substitutionGroup="abst:Archive2AbstractDescendant"
xdb:defaultTable="" />
</xsd:schema>
Archive2BaseDoc.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:basedoc="http://archive2.isrvs2.rosbank.croc.ru/Archive2BaseDoc/v1.0"
xmlns:base="http://archive2.isrvs2.rosbank.croc.ru/Archive2Base/v1.0"
targetNamespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2BaseDoc/v1.0"
xmlns:xdb="http://xmlns.oracle.com/xdb"
xdb:storeVarrayAsTable="true">
<xsd:import schemaLocation="Archive2Base.xsd"
namespace="http://archive2.isrvs2.rosbank.croc.ru/Archive2Base/v1.0" />
<xsd:complexType name="Archive2BaseDocDescendant"
xdb:SQLType="ARCHIVE2_BASE_DOC_DESC_T">
<xsd:sequence>
<xsd:element name="stub" xdb:SQLName="STUBN" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Archive2BaseDocDescendant" xdb:SQLName="ARCHIVE2BASEDOCDESCN"
type="basedoc:Archive2BaseDocDescendant"
xdb:defaultTable="" />
<xsd:complexType name="Archive2BaseDoc"
xdb:SQLType="ARCHIVE2_BASE_DOC_T">
<xsd:complexContent>
<xsd:extension base="base:Archive2BaseDescendant">
<xsd:sequence>
<xsd:element ref="basedoc:Archive2BaseDocDescendant" xdb:SQLName="ARCHIVE2BASEDOCDESCR"
minOccurs="0" maxOccurs="unbounded" xdb:SQLInline="false"
xdb:defaultTable="ARCHIVE2BASEDOCDESCR_TAB" />
<xsd:element name="archiveID" xdb:SQLName="ARCHIVEIDN" type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Archive2BaseDoc" xdb:SQLName="ARCHIVE2BASEDOCN" type="basedoc:Archive2BaseDoc"
substitutionGroup="base:Archive2BaseDescendant"
xdb:defaultTable="" />
</xsd:schema>
The registration code:
DECLARE res BOOLEAN;
BEGIN
res:= DBMS_XDB.CreateResource('/home/Archive2Root.xsd', bfilename('XMLDIRECTORY', 'Archive2Root.xsd'));
res:= DBMS_XDB.CreateResource('/home/Archive2Abstract.xsd', bfilename('XMLDIRECTORY', 'Archive2Abstract.xsd'));
res:= DBMS_XDB.CreateResource('/home/Archive2Base.xsd', bfilename('XMLDIRECTORY', 'Archive2Base.xsd'));
res:= DBMS_XDB.CreateResource('/home/Archive2BaseDoc.xsd', bfilename('XMLDIRECTORY', 'Archive2BaseDoc.xsd'));
END;
/
BEGIN
DBMS_XMLSCHEMA.registerSchema(SCHEMAURL => 'Archive2Root.xsd', SCHEMADOC => xdbURIType('/home/Archive2Root.xsd').getClob(), ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE);
commit;
DBMS_XMLSCHEMA.registerSchema(SCHEMAURL => 'Archive2Abstract.xsd', SCHEMADOC => xdbURIType('/home/Archive2Abstract.xsd').getClob(), ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE);
commit;
DBMS_XMLSCHEMA.registerSchema(SCHEMAURL => 'Archive2Base.xsd', SCHEMADOC => xdbURIType('/home/Archive2Base.xsd').getClob(), ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE);
commit;
DBMS_XMLSCHEMA.registerSchema(SCHEMAURL => 'Archive2BaseDoc.xsd', SCHEMADOC => xdbURIType('/home/Archive2BaseDoc.xsd').getClob(), ENABLEHIERARCHY => DBMS_XMLSCHEMA.ENABLE_HIERARCHY_NONE);
commit;
END;
/
Edited by: DMITRYERKIN on Feb 26, 2011 10:35 PM