SQL Server 2000 - wie schreibt man per SQL in eine Datei?

03/07/2008 - 22:03 von Liz Helmecke | Report spam
Hallo NG,

wenn ich z.B. debuggen will, was das Statement im Einzelnen tut, und an
einzelnen Stellen will, daß bestimmte Dinge in eine Art log-Datei
geschrieben werden.
Um z.B. rauszufinden, ob ein Berechtigungsproblem vorliegt, oder ob eine
Datei gerade nicht da ist, usw.

In einem DTS-Paket kann man ja eine Fehlerdatei angeben, damit ein Log für
jeden Schritt geschrieben wird.

Im Query Analyzer im SQL kann man an verschiedenen Stellen "print" einbauen,
dann steht es halt in der Ausgabe des Query Analyzers.
Wie kann aber diese Ausgabe in eine Datei gelenkt werden?

Oder andersrum: Wenn ich in Extras-Optionen angebe "Ausgabe in Datei",
werden die Ergebnisse, auch Fehlermeldungen, in eine Datei geschrieben.
Wie kann man per SQL angeben, DASS die Ausgabe in Datei erfolgen soll und
WIE diese Datei heißen soll?

Dankbar für Tipps
Liz
 

Lesen sie die antworten

#1 Christa Kurschat
04/07/2008 - 08:10 | Warnen spam
Hallo Liz,

"Liz Helmecke" schrieb im Newsbeitrag
news:
Hallo NG,

wenn ich z.B. debuggen will, was das Statement im Einzelnen tut, und an
einzelnen Stellen will, daß bestimmte Dinge in eine Art log-Datei
geschrieben werden.
Um z.B. rauszufinden, ob ein Berechtigungsproblem vorliegt, oder ob eine
Datei gerade nicht da ist, usw.




Das wird schwierig, weil diese Fehler zum Teil dazu führen, daß die Prozedur
abgebrochen wird.

In einem DTS-Paket kann man ja eine Fehlerdatei angeben, damit ein Log für
jeden Schritt geschrieben wird.

Im Query Analyzer im SQL kann man an verschiedenen Stellen "print"
einbauen, dann steht es halt in der Ausgabe des Query Analyzers.
Wie kann aber diese Ausgabe in eine Datei gelenkt werden?

Oder andersrum: Wenn ich in Extras-Optionen angebe "Ausgabe in Datei",
werden die Ergebnisse, auch Fehlermeldungen, in eine Datei geschrieben.
Wie kann man per SQL angeben, DASS die Ausgabe in Datei erfolgen soll und
WIE diese Datei heißen soll?



Soweit ich weiß, geht das nicht.

Du müßtest jeden Fehler mit elect @@error abfangen, wobei das Problem die
fehler sind, die die Prozedur abbrechen lassen. Dann kommt er gar nicht zum
Fehlerabfang.
Man sollte also alles im Vorfeld abbprüfen a la:
If Object_ID('Tabelle') is null
begin
insert into Fehlertabelle (...)
values ('Die Tabelle xy existiert nicht')
return
end

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.org

Ähnliche fragen