Verschiedene Kombinationen dieser Einstellungen können zu falschen oder partiellen Ergebnissen in der Ausgabe führen. Dies liegt daran, dass Microsoft es nicht für wichtig genug hielt, diese Probleme zu beheben. Ich erkläre nur, was mit CSV-Dateien passiert, wenn die Ergebnisse an eine Datei gesendet werden.
Gehen Sie wie folgt vor, um gute Ergebnisse zu erzielen:
Neues Abfragefenster öffnen (neue Registerkarte / Sitzung) ... Wenn Sie dies nicht tun, geht die unten stehende Konfiguration verloren und wird auf die Standardeinstellungen zurückgesetzt
Schreiben Sie die Abfrage, um das Anführungszeichen im Anführungszeichen zu behandeln, und schließen Sie alle Zeichenfolgendatentypen in Anführungszeichen ein. Beachten Sie auch, dass verschiedene DBMS- und Programmiersprachengrammatiken eine andere Syntax für ein doppeltes Anführungszeichen akzeptieren (wenn Sie diese Ausgabe als Eingabe für ein anderes System verwenden). Einige verwenden \"
. Einige verwenden ""
. XML verwendet "
; Wahrscheinlich ein Grund, warum Microsoft diese Funktionalität ignoriert hat, damit sie sich nicht mit den Argumenten befassen mussten.
.. Wenn Escape Sequence des neuen Systems ist ""
.
SELECT '"' + REPLACE(CAST(column1 AS VARCHAR(MAX)), '"', '""') + '"' FROM table1
.. Wenn Escape Sequence des neuen Systems ist \"
.
SELECT '"' + REPLACE(CAST(column1 AS VARCHAR(MAX)), '"', '\"') + '"' FROM table1
Aufbau:
Abfrageoptionen> Ergebnisse> "Spaltenüberschriften beim Kopieren oder Speichern der Ergebnisse einschließen" aktiviert
Abfrageoptionen> Ergebnisse> " Anführungszeichenfolgen mit Listentrennzeichen beim Speichern von CSV-Ergebnissen" - BROKEN; VERWENDE NICHT!
Abfrageoptionen> Ergebnisse> Andere deaktiviert
Abfrageoptionen> Ergebnisse> Text> durch Kommas getrennt (Einstellung in der oberen rechten Ecke)
Abfrageoptionen> Ergebnisse> Text> "Spaltenüberschriften in die Ergebnismenge aufnehmen" aktiviert
Abfrageoptionen> Ergebnisse> Text> Andere deaktiviert
Abfrageoptionen> Ergebnisse> Text> "Maximale Anzahl der in jeder Spalte angezeigten Zeichen" - auf maximale Länge eingestellt, damit Zeichenfolgen nicht abgeschnitten werden.
Abfrage> Ergebnisse in Datei (dies ist ein Wechsel zwischen allen 3 Optionen)
Abfrage ausführen (F5)
Eingabeaufforderung für den Dateinamen des Berichts
Öffnen Sie die Datei, um die Ergebnisse anzuzeigen
HINWEIS: Wenn Sie dies regelmäßig tun müssen, sollten Sie nur ein Programm entwickeln, das dies für Sie in .NET oder Java oder in einer anderen Sprache erledigt, mit der Sie vertraut sind. Andernfalls besteht eine hohe Wahrscheinlichkeit, dass Sie einen Fehler machen. Beachten Sie dann die Syntax des Systems, in das Sie importieren, bevor Sie den Export aus SQL Server definieren.