goodbytes
Goto Top

Export einer SQL-Abfrage in eine Datei

Hallo,
ich möchte auf unserem SQL-Server 2005 meine Abfrage jeden Tag automatisch laufen lassen. Ist ja auch soweit kein Problem; aber das Skript ist fertig bis auf eine winzige Kleinigkeit. Das Skript soll die Ausgabe gleich in eine csv-Datei umleiten.

Ist sicher ganz einfach machbar denke ich; ich weiß aber leider nicht wie.

Torsten

Content-ID: 96999

Url: https://administrator.de/contentid/96999

Ausgedruckt am: 19.11.2024 um 22:11 Uhr

Genios
Genios 15.09.2008, aktualisiert am 18.10.2012 um 18:36:15 Uhr
Goto Top
Schau mal in diesem Artikel nach, hier wird der Query mittels Batch angestoßen und das Ergebnis in eine Textdatei geschrieben. Eine Ausgabe in eine *.csv Datei sollte nicht das Problem darstellen
TuXHunt3R
TuXHunt3R 15.09.2008 um 21:33:20 Uhr
Goto Top
Hallo TorstenB

Dafür ist SQL selber nicht das richtige, so wie ich das einschätzen kann.
Hier empfiehlt sich ein VBScript oder ein PowerShell-Script in Kombination mit der von dir erwähnten SQL-Abfrage.
Kannst du die Abfrage mal posten?
59581
59581 16.09.2008 um 09:13:29 Uhr
Goto Top
Hallo,

.csv Datei ist auch ein .txt Datei,

die unterschied ist nur das .csv Datei enthält trennzeichen ";"

>SQLCMD -U username -P password -S server\instanz -d dbname -i c:\abfrage.sql -o c:\ausbage.csv -s ";"
goodbytes
goodbytes 16.09.2008 um 10:55:58 Uhr
Goto Top
Hallo,
ja, mittels sqlcmd funktioniert das sehr gut. Schöner wäre es natürlich direkt aus der SQL-Abfrage wenn es möglich ware. Dann könnte ich es direkt auf dem SQL-Server mittels SQL-Agent als Job laufen lassen.
Eine Ausführung per vbs wäre allerdings auch eine saubere Sache.
Hier ist mal die Beispielabfrage:

USE meinedatenbank
SELECT     Spalte1, Spalte2, Spalte3, [Spalte4], Spalte5, Spalte6, Spalte7, Spalte8, Spalte9
FROM         [Firma$Tabelle]
WHERE     (Spalte5 = 'GT1') AND ([Spalte3] = 2) AND (Spalte6 = 0) AND (Spalte7 = 2) AND (Spalte8 = '123456')  
ORDER BY Spalte9

Torsten
59581
59581 16.09.2008 um 19:22:46 Uhr
Goto Top
ok,

du kannst die formatierung auch unter SELECT Abfrage eingeben

spalte1 + ";" + spalte2 + ";" + ...
goodbytes
goodbytes 16.09.2008 um 21:53:41 Uhr
Goto Top
Hallo Amadeus2008,
aha, dass man die Trennzeichenerzeugung eigentlich so einfach erzeugen kann dachte ich gar nicht. Vielen Dank für den Tipp!

Torsten