我正在使用SQL Server 2014和BULK INSERT
命令引用.csv
文件和格式文件。在所有字段(包括列標題)之前,我已經成功完成了這個任務,但是現在數據格式略有改變,並且第一列heade rand數據未包含在double quoutes中,並且在創建格式文件時遇到問題。在CSV中使用BULK INSERTwith格式文件和雙引號的問題
實施例數據...
Number of Employees;"Employee - First Name (Key)";"Employee - Last Name (Key)";"Employee - E-Mail Address (Key)"
1;"Joe";"Bloggs";"[email protected]"
注意,分號是字段分隔符和第一列標題和,所有以下標頭和數據做數據沒有引號和一致
例FMT格式文件...
12.0
5
1 SQLCHAR 0 0 "\"" 0 "" ""
2 SQLCHAR 2 50 ";" 1 "Number of Employees" Latin1_General_CI_AS
3 SQLNCHAR 2 510 "\";\"" 2 "Employee First Name" Latin1_General_CI_AS
4 SQLNCHAR 2 510 "\";\"" 3 "Employee Last Name" Latin1_General_CI_AS
5 SQLNCHAR 2 510 "\"\r\n" 4 "E-Mail Address" Latin1_General_CI_AS
我已經試過各種分隔符排列與虛擬列第一欄之前去除,第一列(一後Bove是最新的),我仍然收到相同的錯誤信息...
由於文件「\ Mypath \ import_staff_dq.fmt」不完整或無法讀取,無法批量加載。操作系統錯誤代碼(空)。
該文件始終關閉。
我已在DEST表中的所有字段VARCHAR
爲簡單起見
BULK INSERT不支持複雜的CSV文件,用換行或引用的字符串,即文件。即將到來的SQL Server 2017年。使用SSIS。您可以使用SSMS中的「導入數據」嚮導來導入CSV數據*和*保存一個SSIS包供重用。最常見的情況是使用SSIS進行導入和轉換,而不是直接使用bcp或BULK INSERT –
它適用於所有字段都用雙引號括起來的成功格式文件('fmt'),但它不是如上所述進行工作,其中第一列未用引號包裹。 –