2016-08-19 1 views
0

Ich versuche, eine große Menge von Daten in eine Excel-Datei zu exportieren. Die einzige Option, die SQL Server bereitstellt, ist "Ergebnisse speichern unter".Deaktivieren Sie 'Komma getrennt' für CSV in SQL Server 2008

Der Dateityp ist bereits als .CSV (comma delimited) definiert.

Ich habe eine Spalte mit Kommas drin. Also, ich muss die "Komma abgegrenzt" -Funktion deaktivieren. Wenn ich es speichere, wird die Spalte mit Kommas in zwei Spalten aufgeteilt und manipuliert sogar andere Spalten.

Wie mache ich das?

Kopieren der gesamten Daten und Einfügen funktioniert nicht, da es eine OutOfMemoryException10 wirft.

+1

Vielleicht diese Frage und die Antwort ist von Hilfe: http : //stackoverflow.com/questions/6115054/how-to-get-export-output-in-real-csv-format-in-sql-server-managment-studio –

Antwort

0

eine wichtige Sache, die Sie wissen sollten, ist die Bedeutung von CSV. CSV ist Komma-getrennte Werte.

Versuchen Sie, es in ein anderes Dateiformat (z. B. xls/txt) zu konvertieren oder Komma in Ihren Daten zu ändern/zu entfernen.

0

können Sie QUOTENAME-Funktion für die Spalten in Ihren Daten verwenden, die Kommentare als solche enthalten:

select QUOTENAME(column_with_commas, '"') as column_with_commas ... 

und dann sqlcmd die Anweisung von der Befehlsdatei in eine Datei auszuführen. Unter der Annahme, dass der Export SQL in export.sql gespeichert ist:

sqlcmd -S server -u user -p password -i export.sql -o myoutput.csv -W 

QUOTENAME Dokumentation ist hier - https://msdn.microsoft.com/en-us/library/ms176114.aspx

Weitere sqlcmd Optionen sind hier - https://msdn.microsoft.com/en-us/library/ms162773.aspx