我對SQL Server使用批量插入命令,但出於某種原因沒有插入第一行。爲什麼我不能從第一行插入數據?是批量插入預期標題爲默認,我如何繞過這個?如果我添加一個虛擬行並將WITH
設置爲FIRSTROW = 2
,那麼插入第一行時沒有問題,但我認爲這不是一個好的解決方案。批量插入SQL命令不能插入第一行
錯誤代碼:
消息4864,級別16,狀態1,行1
批量負載數據轉換錯誤(類型不匹配或無效字符爲指定的代碼頁)爲第1行,第1列(table_id的)。
命令:
BULK INSERT TableData
FROM 'C:\Users\Oscar\file.csv'
WITH (FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
KEEPNULLS,
KEEPIDENTITY)
的樣本數據:
1;Text 1;1;0;;
2;Text 2;1;0;;
3;Text 3;1;0;;
4;Text 4;1;0;;
5;Text 5;1;0;;
您是否嘗試過使用\ r \ n的'ROWTERMINATOR'?當你使用你正在使用的任何編輯器打開你的文件時,可能會保存它,它會自動將它從一個行終止符轉換到另一個,並解決該問題,而標題與它無關。只是一個猜測,但我以前見過的東西。 –
@TomH我有同樣的問題。我發現使用類似Notepad ++的東西,並顯示所有字符使得像這樣的導入更容易,因爲你可以看到選項卡,回車符,換行符等。 – UnhandledExcepSean
@TomH'\ r \ n'不起作用,這是一個編碼錯誤。從UTF-8-BOM更改爲ANSI並\ n工作。 – Ogglas