IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

probleme d'insertion de xml dans une table


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut probleme d'insertion de xml dans une table
    Bonjour,

    Je souhaite créer une procédure PL/SQL pour contôler la validité d'un fichier xml par rapport à un schma xml.
    Comme solution, j'ai trouvé comme (seul?) moyen, l'enregistrement d'un schéma xml dans la base, la création d'une table basé sur ce schéma puis l'insertion des données de mon fichier dans la table.
    Si l'insertion se passe bien, je considère que le fichier est valide dans le cas inverse je rejete le fichier.
    Mais voilà, je suis en train de faire des tests pour voir comment se passe cette insertion et je rencontre quelques problèmes.

    Je fais pourtant un schéma tout simple ( récuperer sur le tutoriel de xmlfr.org)
    et j'essai d'inserer du xml dans la base ...
    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    declare
    document varchar2(5000):= '
    <xsd:schema
         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:element name="book">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element name="title" type="xsd:string"/>
       <xsd:element name="author" type="xsd:string"/>
      </xsd:sequence>
      <xsd:attribute name="isbn" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element> 
     
    </xsd:schema>';
     
    begin
    dbms_xmlschema.registerSchema('test_book',document);
    end;
    /
    ce qui me permet d'enregistrer le schéma.
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE GVA_TABLE(
    id number,
    contenu XMLTYPE)
    xmltype COLUMN contenu
    XMLSCHEMA "test_book" element "book";
    pour la création de la table.

    et enfin,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    insert into GVA_TABLE values (1,xmltype(
    '<book isbn="0836217462">
     <title>
      Being a Dog Is a Full-Time Job
     </title>
     <author>Charles M. Schulz</author>
    </book>'));
    pour enregistrer le xml.

    et voila la réponse que j'obtiens

    insert into GVA_TABLE values (1,xmltype(
    *
    ERREUR à la ligne 1 :
    ORA-19007: Schéma et élément discordants
    et la je ne comprend pas d'où vient l'erreur !!!

    A noter que je passe par sqlplus pour faire ceci.
    j'ai vu que des vieilles version de sqlplus avaient du mal avec xmltype, mais apparament pas car si je creer la table sans l'associer au schema, je peux insérer les données sans problème.

    De plus, j'ai essayé de nombreux exemples que j'ai trouvé sur le net (dont un que j'ai pris sur un forum ici) et j'obtiens toujours cette même erreur ....

    j'espère que certains pourront m'éclairer car la je suis à bout !!!

    merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Points : 23
    Points
    23
    Par défaut
    Bonjour,
    Je m'excuse mais j'ai testé ta procédure, ton create table et ton insert. Cela fonctionne. Pour info, j'ai réalisé cela sur une Oracle10g EX et avec Oracle SQL Developper pour l'insert.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    salut,

    apparament, cela venait du sql plus que j utilisais pour mes test.

    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SGBDR] [Oracle] Insertion Xml dans une table
    Par Paxaranne dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 14/12/2010, 20h16
  2. Réponses: 2
    Dernier message: 08/01/2009, 14h20
  3. probleme d'insertion de date dans une table
    Par manplum dans le forum C++Builder
    Réponses: 3
    Dernier message: 23/04/2007, 18h14
  4. [Oracle] Importer du xml dans une table
    Par lenoil dans le forum Oracle
    Réponses: 2
    Dernier message: 05/06/2006, 13h06
  5. [CSS]probleme de style sur cellules dans une table
    Par luimême dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 17/01/2006, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo