2017-08-31 3 views
0

Ich habe durch zahlreiche Bulk-Insert-Typ-Mismatch-SO-Fragen gesucht, aber muss noch eine finden, die mein genaues Problem anspricht. Ich bin bulk eine CSV in eine lokale SSMS datbase Einfügen aber ich den Fehler halten Empfang:Bulk-Insert-Typ stimmt nicht überein oder ungültiges Zeichen

' (type mismatch or invalid character for the specified codepage) for row 2, 
    column 4 (DayNumber) ' 

Dieser Fehler wiederholt sich, bis SSMS die maximale Anzahl von Fehlern erreicht. Ich habe diesen Fehler schon einmal gesehen und konnte ihn immer durcharbeiten. Außerdem habe ich alle Standard-Fixes ausprobiert, die auf SO aufgelistet sind, aber ich hatte kein Glück. Drei Dinge halten, um mich zu diesem speziellen Fehler, der zu jemandem in der Lage führen kann, mir zu helfen:

1) DayNumber is actually column 5 in the underlying CSV, not column 4 
2) The DayNumber column simply has numeric values, I even with through row 
    by row to ensure there were no irregular characters contained in the 
    column 
3) I have tried bulk inserting the CSV with this column set as a varchar, 
    int, numeric, and float - all of which produce the same error 

Jede Hilfe zu diesem Thema wäre sehr wie ersichtlich, wird dies das gesamte Projekt hält. Außerdem bin ich erfolgreich bulk Einfügen von 2 verschiedenen CSV-Dateien in die gleiche Abfrage. Diese CSV-Dateien werden im genau gleichen Ordner wie die Datei gespeichert, die den Fehler verursacht.

Vielen Dank im Voraus für jede Hilfe!

SAMPLE DATA UNTEN:

Beispiel CSV-Daten:

Country  Region  Month  Date  DayNumber Location 
USA   California January 8/17/2016 48  USA 
England  London  March  6/30/2017 91  England 
USA   Wyoming  November 3/31/2017 90  USA 
Canada  Alberta  January 12/31/2016 92  Canada 
England  Manchester February 9/30/2016 92  England 
New Zealand Auckland  July  6/30/2016 91  New Zealand 
USA   New York  December 3/31/2016 91  USA 
Canada  Ontario  April  12/31/2015 92  Canada 
USA   New York  September 9/30/2015 92  USA 
Australia Queensland January 6/30/2015 91  Australia 
Australia Sydey  March  3/31/2015 90  Australia 
USA   San Diego February 12/31/2014 92  USA 
Canada  Quebec  October 9/30/2014 92  Canada 
USA   Florida  August 6/30/2014 91  USA 

Probe Anweisung von Bulk:

Create Table Table_A 
(
    [Country] varchar(max), 
    [Region] varchar(max), 
    [Month] varchar(max), 
    [Date] varchar(max), 
    [DayNumber] varchar(max), 
    [Location] varchar(max), 
           ) 
    GO 

BULK INSERT 
Table_A 
FROM 'C:\Path\CSV.csv' 
WITH 

(
    FIELDTERMINATOR = ',', 
    ROWTERMINATOR = '\n', 
    FIRSTROW = 2 
); 
+0

Können Sie Ihre CSV-Datei, und können Sie bieten den Großeinsatz Abfrage – MBurnham

+0

@MBurnham I Beispieldaten und Bulk-Insert-Anweisung auf die ursprüngliche Frage – ls101

+0

@MBurnham Dank einer Tonne für Ihre Unterstützung – ls101

Antwort

0

enter image description here

Wenn Sie die Daten wie folgt formatiert wird es funktionieren . Aktivieren Sie "Alle Zeichen anzeigen" im Notizblock ++ und vergewissern Sie sich, dass zwischen den Feldern keine versteckten Zeichen vorhanden sind (nur am Ende jedes Datensatzes).

Verwandte Themen