Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/07/2008, 16h10   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 28
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : janvier 2007
Messages : 28
Points : 11
Points : 11
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
NLozo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 16h59   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 792
Points : 17 792
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 17h33   #3
Candidat au titre de Membre du Club
 
Inscription : janvier 2007
Messages : 28
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : janvier 2007
Messages : 28
Points : 11
Points : 11
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 :
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...
NLozo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 18h17   #4
Expert Confirmé
 
Avatar de rudib
 
Inscription : mai 2006
Messages : 2 236
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mai 2006
Messages : 2 236
Points : 2 983
Points : 2 983
Envoyer un message via ICQ à rudib Envoyer un message via MSN à rudib
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
Consultant indépendant
modélisation, administration, optimisation, formation,
solutions MS SQL Server et informatique libre.
MCDBA, MCITP, MCT, SCJP2 - http://www.babaluga.com/
Articles et tutoriels : http://rudi.developpez.com/
LIVRE : Optimiser SQL Server
rudib est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h50.


 
 
 
 
Partenaires

Hébergement Web