Export von CSV-Daten mit SQLCMD.EXE
Ich versuche zum exportieren von Daten aus SQL Server in das CSV-format. Ich habe eine Fledermaus Aufgabe, das zu tun, führen in regelmäßigen Abständen. Befehl:
SQLCMD.EXE -d [db details] -i c:\export.sql -o c:\export.csv -s"," -W
Wird die SQL-Datei ist nur eine Auswahl * aus einer Sicht.
Diese funktioniert, außer, dass einige der Zeilen Kommas in den Daten, also die Werte müssen in Anführungszeichen eingeschlossen werden. Ich könnte die Spalte Trennzeichen "','", aber dann bräuchte ich den SQL-Server zu entkommen einfache Anführungszeichen in den Daten als gut.
Leider ändern der Trennzeichen auf einen anderen Charakter ist unwahrscheinlich, dass das problem lösen in 100% der Fälle als eines der Felder enthält die serialisierten Daten aus einer anderen Anwendung, die enthält alle Arten von seltsamen und wunderbaren Zeichen.
Gibt es eine Möglichkeit für mich, um standard -, zitiert CSV-Daten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage sein, ändern Sie die SELECT-Anweisung zur Verwendung der QUOTENAME Funktion. Sie würde natürlich die Liste alle Spalten einzeln anstatt
SELECT *
.Hinweis: Es kann sein, schwer zu Lesen auf dem Bildschirm, aber der zweite parameter für QUOTENAME ist:
{Hochkomma} {Anführungszeichen} {Hochkomma}
QUOTENAME
ist auf 128 Zeichen beschränkt. Eingänge größer als 128 Zeichen NULL zurück, so dass es nutzlos für den längeren text.