Microsoft SQL Server 2014 - ROWTHERMINATOR \n vs. \r\n

Piktogramm

Admiral
Registriert
Okt. 2008
Beiträge
9.252
Servus,

Ms Windows nutzt für einen Zeilenumbruch ja generell \r\n. Eine unter Windows erstellte .csv mit eben dieser Zeichenkette an jedem Zeilenende liest Ms SQL Server 2014 jedoch nur mit "ROWTHERMINATOR=\n" ein. Eine .csv die Zeilenumbrüche mit \n enthält, liest SQL Server bei mir jedoch mit "ROWTHERMINATOR=\n" nicht ein, da es den Zeilenumbrauch nicht erkennt.
Andersherum funktioniert Import mit \r\n bei beiden .csv Dateien nicht.

Die Frage die sich daraus ergibt ist 1. wie lese ich mit dem SQL Server Daten ein, die unter einem unixoiden Betriebssystem erstellt wurden ohne erst \n mit \r\n zu ersetzen und viel wichtiger: Gibt es eine Lösung, dem Ms SQL Server einzuprügeln, dass er sich an die eigene Dokumentation hält? Also \r\n Zeilenumbrüche mit ROWTHERMINATOR=\r\n und \n terminierte Zeilen mit =\n richtig parsen.


Danke schonmal an alle Helfer :)
 
Zuletzt bearbeitet:
"ROWTERMINATOR" steht richtig im "Script", ich sollte nicht nach Hilfe fragen, wenn mir gleichzeitig ein Prof. zu Rechtsthemen das Hirn weich labert :D


Die Seite vom MSDN scheint da wirklich hilfreich zu sein:
Wenn Sie bcp interaktiv verwenden und \n (Zeilenvorschub) als Zeilenabschlusszeichen angeben, wird dieses Zeichen von bcp automatisch mit dem Präfix \r (Wagenrücklauf) versehen, womit als Ergebnis das Zeilenabschlusszeichen \r\n steht.

"bcp interaktiv" scheint mein Problem zu heißen :).
 
Zurück
Oben