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

MS SQL Server Discussion :

XML INSERT TABLE


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 60
    Points : 34
    Points
    34
    Par défaut XML INSERT TABLE
    Bonjour

    je suis en sqlserveur 2005

    J'ai un schema XML
    Code XML : 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
    CREATE XML SCHEMA COLLECTION BooksSchemaCollection AS 
    N'<?xml version="1.0" encoding="UTF-16"?> 
    <xsd:schema elementFormDefault="unqualified" 
       attributeFormDefault="unqualified" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema" > 
        <xsd:element name="book"> 
                            <xsd:complexType mixed="false"> 
                                        <xsd:sequence> 
                                                    <xsd:element name="name" type="xsd:string"/> 
                                                    <xsd:element name="author" type="xsd:string"/> 
                                                    <xsd:element name="publisher" type="xsd:string"/> 
                                                    <xsd:element name="cost" type="xsd:integer"/> 
                                                    <xsd:element name="comments" type="xsd:string"/> 
                                        </xsd:sequence>                       
                            </xsd:complexType> 
        </xsd:element> 
    </xsd:schema>';

    J'ai une table
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE TABLE XMLTable 
    (id INT, xDoc  XML (BooksSchemaCollection)) 
    GO
    j'ai un insert
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Insert into XMLTable 
    Values (1, '<book><name>Deception Point</name><author>Dan Brown</author> <publisher>BPB Publications</publisher><cost>12</cost> 
                            <comments>Excellent book and a case study for suspense topics</comments> 
    </book>')
    J'ai une erreur :

    Msg 6913, Niveau 16, État 1, Ligne 1
    Validation XML : déclaration introuvable pour l'élément 'book'. Emplacement : /*:book[1]
    Pourquoi ?
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Vous tentez d'insérer une donnée de type chaîne de caractères dans une colonne de type XML.

    Il vous suffit donc de convertir votre chaîne de caractère en donnée XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO XMLTable 
    VALUES (1, CAST('<book><name>Deception Point</name><author>Dan Brown</author> <publisher>BPB Publications</publisher><cost>12</cost> 
                            <comments>Excellent book and a case study for suspense topics</comments> 
    </book>'AS XML) )
    A+

  3. #3
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Salut,

    J'ai exactement le même problème.
    J'ai tenté de faire un cast comme a suggéré elsuket mais rien n'y change.

    Est-ce que vous avez trouvé une solution pour cela?

    Merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour ,

    Il me semble bien que le cast n'est pas nécessaire ...

    Je viens d'essayer le code de pb_inge et je ne rencontre aucun souci lors de l'insertion ...

    Avez vous toujours le problème ?

    ++

  5. #5
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    Salut,

    au fait j'ai résolu le problème hier.

    Le problème venait du schéma. Dans mon cas j'ai besoin d'un champ xml fotement typé et donc je m'étais trompé dans la déclaration du schéma...

    tout va bien maintenant.

    Merci encore

Discussions similaires

  1. Chargement d'un XML en tables avec PL/SQL
    Par jenlin dans le forum PL/SQL
    Réponses: 7
    Dernier message: 21/03/2011, 12h55
  2. [C#] XML - Insertion en début de fichier
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/07/2006, 15h05
  3. Réponses: 2
    Dernier message: 23/02/2006, 12h23
  4. XML insertion de noeud
    Par totoche dans le forum ASP
    Réponses: 2
    Dernier message: 27/09/2005, 10h57
  5. HELP creation et insertion table....??
    Par aqwel18 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/12/2004, 15h50

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