Bulk-Insert-Pausen beim Hinzufügen von DATAFILETYPE = 'widenative'

Ich habe dieses kleine Sql-Skript, um eine Semikolon-getrennte file in eine bestimmte Tabelle meiner database zu importieren:

BULK INSERT foo_bar FROM 'C:\Users\JohnDoe\projects\foo\ftp-data-importator\bar.txt' WITH ( FIELDTERMINATOR = ';', ROWTERMINATOR = '\n', FIRSTROW = 2, MAXERRORS = 100000, ERRORFILE = 'c:\temp\foobar_bulk_log.txt' ) GO 

Und es funktioniert wie ein Charme. Das einzige Problem ist, dass einige spezielle Unicode-character wie ó oder é nicht in die Codierung der file eingefügt werden.

Also habe ich die nächste Zeile zwischen dem WITH-Keyword-Klammern hinzugefügt:

DATAFILETYPE = 'widenative'

Und anstatt die encoding zu respektieren, brechen die ganze Hinrichtung und geben mir den nächsten Fehler:

Msg 4866, Ebene 16, Zustand 5, Zeile 5 Die Bulk-Last fehlgeschlagen. Die Spalte ist zu lang in der datadatei für Zeile 1, Spalte 1. Vergewissern Sie sich, dass der Feldabschluss und der Zeilenabschluss korrekt angegeben sind. Msg 7301, Level 16, State 2, Line 5 Die benötigte interface ("IID_IColumnsInfo") kann vom OLE DB Provider "BULK" für den verknüpften server "(null)" nicht abgerufen werden.

Wo ist das Problem?

Statt DataFileType versuchen Sie es mit CODEPAGE = 1252.

Versuchen Sie, widechar anstelle von widenative Ihre ursprüngliche statement ist mit character-Modus, nicht native BCP-Format. Stellen Sie außerdem sicher, dass die Quelldatei Unicode ist (nicht UTF-8).