我試圖使用BULK INSERT
從.csv文件向現有表中添加行。現在我有一個測試的目的具有以下格式的小文件:BULK INSERT未正確插入CSV
UserID,Username,Firstname,Middlename,Lastname,City,Email,JobTitle,Company,Manager,StartDate,EndDate
273,abc,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
274,dfg,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
275,hij,dd,dd,dd,dd,dd,dd,dd,dd,dd,dd
而這正是我的查詢目前看起來像:
BULK INSERT DB_NAME.dbo.Users
FROM 'C:\data.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
當我執行此查詢返回1行受影響。我檢查了表中的條目並注意到文件中的數據作爲單行插入到表中。
這可能是什麼原因造成的?我試圖完成的是將這些行插入表中的各行中。見(長)圖像下方
第一列實際上是一個IDENTITY列,以便在文件我只指定一個整數,即使通過自動生成的ID就會被改寫,因爲我不知道如何告訴查詢開始從第二場開始插入。
實際表格中創建的列數多於文件中指定的數量,因爲並非所有內容都需要填充。這可能會導致它?
檢查你最喜歡的文本編輯器,看看所有的符號是什麼。例如在Notepad ++中啓用「顯示所有符號」。也許你的行以'\ r'而不是'\ r \ n'結尾。 –
對於測試,您是否可以創建一個沒有標識字段的臨時表,並取出WITH語句以查看返回的數據? –
根據字符編碼的不同,新的換行符被標記爲不同。你用'/ r/n'試過了嗎? – Fka