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 :

Créer fichier XML à l'aide de Transact-SQL, est-ce possible?


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Créer fichier XML à l'aide de Transact-SQL, est-ce possible?
    Bonjour,

    Je suis débutante en ce qui concerne SQL Server et tous les outils qui le concerne.

    Sur un site Web que j'ai créé, je dois publier des nouvelles qui sont stockées dans une table (sur une bd dans SQL Server 2000). Ces nouvelles doivent être exportées dans un fichier XML. Je dois donc extraire (la nuit, donc je pensais créer une tâche qui serait exécutée par l'Agent SQL Server) toutes les nouvelles devant être publiées dès le matin de ma table Nouvelles et créer/écraser le fichier nouvelles.xml sur mon site.

    Mes recherches m'ont amenée au Transact-SQL, mais je n'arrive pas à trouver un «Transact-SQL pour les nuls». D'abord, est-ce que je suis sur la bonne voie ? Quelles seraient les étapes à faire pour réaliser tout ça (ça m'aiderait à orienter mes recherches) ?

    Merci à l'avance de votre aide,

    Nathalie

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    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 : 21 774
    Points : 52 744
    Points
    52 744
    Billets dans le blog
    5
    Par défaut
    faites plutôt ceci à l'aide d'un lot DTS.

    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/ * * * * *

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Merci mais... il me manque encore un p'tit bout
    Un gros merci pour cette précieuse piste.

    J'ai tenté d'utiliser l'assistant importation/exportation (DTS) pour exporter ma table au format XML, mais malheureusement c'eut été trop simple, j'imagine, puisque ça n'a pas fonctionné. Je travaille sur SQL Server 2000 et il ne semble pas reconnaître, comme destination, le format XML (peut-être que cela a été ajouté dans les versions ultérieures ?)

    J'avais créé une requête qui avait la forme suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT
    	1 		AS tag,
    	NULL		AS parent,
                 NoNouvelle           AS [Nouvelle!1!ID!hide],
    	DateDbNouvelle	AS [Nouvelle!1!DATE!element],
    	TitreNouvelle	AS [Nouvelle!1!TITRE!element],
    	DescNouvelle	AS [Nouvelle!1!DESCRIPTION!element],
    	LienNouvelle	AS [Nouvelle!1!HYPERLIEN!element]
     
    FROM Nouvelles
     
    ORDER BY DateDbNouvelle
    FOR XML EXPLICIT
    Or, comment faire pour que le résultat soit écrit dans mon fichier nouvelles.xml ?

    Merci pour votre patience...

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    le problème du FOR XML est que les données sont enoyées en Stream. C'est facilement récupérable avec un objet ADO.Stream. Tu peux donc faire un script ActiveX dans ton DTS pour exporter le document, ou utiliser n'importe quel langage qui supporte ADO, comme un script vbs planifié. Tu trouveras ici un exemple de code : http://bytes.com/forum/thread518219.html
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

Discussions similaires

  1. [JDOM] créer fichier xml java
    Par jpsegret dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 04/07/2007, 17h33
  2. Envoi d'un fichier sur une url en Transact SQL
    Par LAGARDETTE dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/05/2007, 09h12
  3. [PL/SQL] générer un fichier xml à partir du programme pl/sql
    Par moneyinthebank dans le forum PL/SQL
    Réponses: 2
    Dernier message: 15/06/2006, 17h09
  4. Créer fichier XML
    Par elendila dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/03/2006, 07h23

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