2017-06-26 3 views
1

Ich spiele mit der BULK INSERT-Funktion des SQL-Servers.SQL Server Bulk einfügen mit Daten

Hier ist die Testdaten in der CSV, die ich benutze:

2017-06-26,123456,101 
2017-06-26,321482,73 
2017-06-26,90139,10 

Beim Laufen:

bulk insert testTable from 'c:\ml\data\test.csv' 

Ich erhalte den folgenden Fehler:

Msg 4832, Level 16, State 1, Line 3 
Bulk load: An unexpected end of file was encountered in the data file. 
Msg 7399, Level 16, State 1, Line 3 
The OLE DB provider "BULK" for linked server "(null)" reported an error. The 
provider did not give any information about the error. 
Msg 7330, Level 16, State 2, Line 3 
Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)". 
+0

Wenn Sie Ihre CSV-Datei in einem Editor wie Notepad öffnen ++ und Leerzeichen zeigen, können Sie jede Zeile stellen Sie sicher, das gleiche Ende hat, und dass es nicht eine vierte Linie mit nur Leerzeichen. Ich habe gesehen, dass das ähnliche Fehler verursacht. – Torrents

Antwort

1

So importieren Dateien mit Trennzeichen ist es notwendig, dass Sie den Leitungsabschluss informieren und auch Spalten

versuchen, dies auszuführen.

bulk insert testTable 
from 'c:\ml\data\test.csv' 
WITH(FIELDTERMINATOR=',',ROWTERMINATOR='0x0a',CODEPAGE=1252) 
+0

Danke, das hat funktioniert! Ich verstehe die ersten beiden Parameter, können Sie helfen, CODEPAGE = 1252 zu erklären? – user3654225

+0

@ user3654225 beschreibt den Zeichensatz, der zum Codieren eines bestimmten Zeichensatzes verwendet wird, normalerweise kombiniert mit einer Anzahl von Steuerzeichen. –