SQL Server-Ergebnisse in Datei Erstellt am Ende zusätzliche Zeilen

1818
B540Glenn

Wenn ich die Ausgabe meiner Abfragen in eine Datei route, werden unten ein oder zwei Leerzeilen angezeigt. Wenn ich die Abfrage über SSMS (2008 oder 2012) starte, bekomme ich zwei zusätzliche Leerzeilen. Wenn ich die Abfrage durch SQLCMD starte, erhalte ich eine zusätzliche Leerzeile. Wie werde ich sie los?

Beispiel (mit SSMS):

Set NoCount on Select '1' as 'One' 

Die Ausgabe dieser Abfrage in der Datei lautet:

One 1 (blank line) (blank line) 

oder hex 4F 6E 65 0D 0A 31 0D 0A 0D 0A

Die zusätzlichen Zeilen am unteren Ende verursachen Probleme mit Schritten, die die Ausgabe als Eingabe verwenden.

Gibt es einen Parameter, den ich am Anfang der Abfrage einstellen kann?

Ist es eine Datenbankoption?

2
Ich bin nicht sicher, ob es eine Möglichkeit gibt, die zusätzlichen Leerzeilen aus dem SSMS-Ende der Dinge zu deaktivieren (ich habe festgestellt, dass "Ergebnisse in Datei" -Optionen / -Steuerungen in meinen Erfahrungen sehr begrenzt sind). Verwenden Sie möglicherweise einen Stapel, der `SQLCMD` verwendet, um in die Datei zu sichern, und verwenden Sie dann eine Variation von` findstr "." input.txt> output.txt`, um alle leeren Zeilen zu entfernen, bevor Sie zum nächsten Schritt übergehen? Möglicherweise müssen Sie außerdem weitergehen und einen Weg finden, den Zeilenvorschub aus der letzten Textzeile zu entfernen. Ƭᴇcʜιᴇ007 vor 8 Jahren 0
Ich möchte jegliche zusätzliche Manipulation der Dateien vermeiden, da einige von ihnen mehr als 1 GB groß sind und wachsen. Aber wenn ich muss, findstr besser als manuell bearbeiten. Vielen Dank B540Glenn vor 8 Jahren 0

1 Antwort auf die Frage

0
Bharat Prasad Satyal

Before writing into the file add one conditional split step. Double click the component and in the output name, give the name 'No Empty Row' and in the condition write LEN(TRIM(One)) > 0. Here One is column name this condition will remove those rows having nulls. Now link the output of conditional output to data file destination. Remember to choose No Empty Row. From this you can remove extra rows.

Ich denke, das würde funktionieren, wenn ich SSIS laufen würde. Leider ist SSIS für diesen Prozess keine Option. B540Glenn vor 6 Jahren 0