2017-08-31 71 views
0

我已經通過大量批量插入類型不匹配搜索問題進行了搜索,但尚未找到解決我確切問題的問題。我是批量插入CSV到本地SSMS datbase,但我不斷收到錯誤:重複批量插入類型不匹配或無效字符

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

這個錯誤直到SSMS到達錯誤的最大數量。之前我曾看到過這個錯誤,並一直能夠解決這個問題。此外,我已經嘗試了所有列在SO上的標準修復程序,但沒有任何運氣。三樣東西貼出來給我介紹這個特別的錯誤,可能導致有人能夠幫助我:

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 

任何幫助,在此將不勝感激,因爲這是阻礙了整個項目。另外,我成功地將兩個不同的CSV文件批量插入到相同的查詢中。這些CSV文件與導致錯誤的文件存儲在完全相同的文件夾中。

在此先感謝您的幫助!

樣本數據下:

樣品CSV數據:

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 

樣品BULK INSERT語句:

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

你能提供您的CSV文件,我添加了樣本數據和BULK INSERT語句原來的問題 – MBurnham

+0

@MBurnham任何逗號作爲字段終止符,它看起來像\ t和行終止符也可以是\ n \ r – ls101

+0

@MBurnham感謝提供一噸的協助 – ls101

回答

0

enter image description here

如果格式化這樣的數據,將工作。打開記事本++中的「顯示所有字符」,並確保字段之間沒有隱藏的字符(僅在每個記錄的末尾)。

相關問題