SQL Server 2008 XML output

15/09/2009 - 17:19 von Simon Kurz | Report spam
Hallo,

ich werd aus der Hilfe nicht recht schlau. Ich will eine XML Datei aus einer
Select abfrage erzeugen. Geht das mit T-SQL überhaupt? Ich habe es schon mit
EXEC xp_cmdshell 'bcp "SELECT Text FROM DB.dbo.Tabelle" queryout
c:\Daten\table.xml

und verschiedensten Parametern versucht. Es kommt aber immer nur eine
Tabelle mit

xxx
yyy
zzz

heraus. Gibt es eine andere Möglichkeit, direkt aus dem SQL Server eine XML
zu erzeugen? Oder brauche ich ein 'externes' Programm?
Der Output soll etwa so aussehen:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Daten>
<zeile>
<spalte1>xxx</spalte1>
<spalte2>yyy</spalte2>
<spalte3>zzz</spalte3>
</zeile>
</Daten>

Gruß
Simon
 

Lesen sie die antworten

#1 Elmar Boye
15/09/2009 - 22:06 | Warnen spam
Hallo Simon,

Simon Kurz schrieb:
ich werd aus der Hilfe nicht recht schlau. Ich will eine XML Datei aus einer
Select abfrage erzeugen. Geht das mit T-SQL überhaupt? Ich habe es schon mit
EXEC xp_cmdshell 'bcp "SELECT Text FROM DB.dbo.Tabelle" queryout
c:\Daten\table.xml

und verschiedensten Parametern versucht.



FOR XML sollte da schon drinne vorkommen:
<URL:http://msdn.microsoft.com/de-de/lib...7.aspx>
denn erst dann wird daraus auch XML.

Eine einfache Variante wàre
SELECT * FROM Tabelle
FOR XML PATH ('Zeile'), ROOT('Daten')

bcp unterstützt nicht die UTF-8 Kodierung, siehe
<URL:http://msdn.microsoft.com/de-de/lib...l_data>
und Hinweis zu Codepage: <URL:http://msdn.microsoft.com/de-de/lib...2.aspx>

Gruß Elmar

Ähnliche fragen