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

Développement SQL Server Discussion :

Import d'un fichier XML


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 12
    Par défaut Import d'un fichier XML
    salut a vous
    Depuis une semaine je chercher a importer les données d'un fichiers XML vers une base de données.
    Mais sans succès, j'utilise SQL-SERVER et mon fichiers XML doit charger plusieurs tables.
    voici le requête que j'ai essayé mais sans succès:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    CREATE TABLE tmpXml (XmlCol XML)
    INSERT INTO tmpXml(XmlCol) 
    SELECT * FROM OPENROWSET(BULK 'C:\Users\chonko0\Desktop\File2.xml', SINGLE_BLOB) AS x
    declare @doc nvarchar(1000)
    select @doc = convert(nvarchar(1000), XmlCol) from tmpXml
    SELECT Customs_offfice_code, voyage_number, Date_of_departure, Date_of_arrival, Time_of_arrival, Total_number_of_packages, Total_number_of_containers, Total_gross_mass, Mode_of_transport_code, Identity_of_transporter, Nationality_of_transporter_code, Place_of_transporter,Registration_number_of_transport_code, Date_of_registration, Master_information, Date_of_last_discharge, Carrier_code, Carrier_name, Carrier_address1, Carrier_address2, Carrier_address3, Place_of_departure_code, Place_of_destination_code, Tonnage_net_weight, Tonnage_gross_weight
     
    FROM OPENXML(@doc, '\Manifeste/General_segment/General_segment_id/Total_segment/Transport_information/Carrier/Load_unjoad_place/Tonnage', 8) WITH 
    (
    Customs_offfice_code Nvarchar(50),
    voyage_number Nvarchar(50),
    Date_of_departure Datetime, 
    Date_of_arrival Datetime ,
    Time_of_arrival Datetime,
    Total_number_of_packages Nvarchar(50),
    Total_number_of_containers Nvarchar(50),
    Total_gross_mass Nvarchar(50),
    Mode_of_transport_code Nvarchar(50),
    Identity_of_transporter Nvarchar(50),
    Nationality_of_transporter_code Nvarchar(50),
    Place_of_transporter Nvarchar(50),
    Registration_number_of_transport_code Nvarchar(50),
    Date_of_registration Nvarchar(50),
    Master_information Nvarchar(50),
    Date_of_last_discharge Nvarchar(50),
    Carrier_code Nvarchar(50),
    Carrier_name Nvarchar(50),
    Carrier_address1 Nvarchar(50),
    Carrier_address2 Nvarchar(50),
    Carrier_address3 Nvarchar(50), 
    Carrier_address4 Nvarchar(50),
    Place_of_departure_code Nvarchar(50),
    Place_of_destination_code Nvarchar(50),
    Tonnage_net_weight Nvarchar(10),
    Tonnage_gross_weight Nvarchar(10)
    )
    declare @ficpath Nvarchar(2000)
    declare @vsql varchar(2000)
    select @vsql = 'INSERT INTO tmpXml(ColXml) SELECT * FROM OPENROWSET(BULK ''' + @ficPath + ''', SINGLE_BLOB) AS x'
    exec   (@vsql)
    Voici mon fichier XML


    Vos contributions seront les bienvenues.
    Cordialement.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    A première vue, a moins que le server sql soit local, "C:\Users\chonko0\Desktop\File2.xml" ne sera pas accessible.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 12
    Par défaut
    Le fichier n'est pas accessible!!!

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Effectivement ce chemin : C:\Users\chonko0\Desktop\File2.xml
    N'existe que pour vous ! Or comme vous n'êtes pas le serveur SQL et que le serveur SQL n'est pas non plus vous, ce chemin n'existe pas pour lui.

    Placez votre fichier dans un chemin direct accessible depuis un disque visible du serveur.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Novembre 2016
    Messages : 12
    Par défaut
    je l'ai mis dans un disque accessible par le Server
    le message suivant s'affiche:

    Msg*9438, Niveau*16, État*1, Ligne*1
    XML parsing: line 1, character 7, text/xmldecl not at the beginning of input

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par MC BAO Voir le message
    je l'ai mis dans un disque accessible par le Server
    le message suivant s'afiche:

    Msg*9438, Niveau*16, État*1, Ligne*1
    XML parsing: line 1, character 7, text/xmldecl not at the beginning of input
    Donc le fichier a bien été lu et maintenant vous avez un problème dans l'XML du fichier qui est incorrect, à la ligne 1 et au caractère 7...
    Le début de votre fichier devrait être quelque chose comme ça :
    <?xml version="1.0" encoding="UTF-16"?>
    et non UTF-8

    Sur quelle version de SQL Server travaillez vous ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. import de plusieurs fichiers XML dans Access 2003
    Par frdek dans le forum Access
    Réponses: 7
    Dernier message: 09/08/2008, 19h39
  2. Import d'un fichier XML
    Par Jeunestb dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 30/01/2008, 23h13
  3. Réponses: 6
    Dernier message: 20/12/2006, 13h21
  4. Réponses: 1
    Dernier message: 28/04/2006, 16h17
  5. Importation d'un fichier xml vers une BD mysql avec php
    Par naima2005 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 28/04/2006, 15h23

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