我正在通過BCP將製表符分隔的文本文件導入SQL Server 2012。除了不導入的文件的最後一行之外,它正在工作。這不是通常意外的EOF問題,其中分隔符設置不正確或逗號存在於使用逗號分隔符的數據中。字段分隔符顯式設置爲\t
,行分隔符顯式設置爲\n
。在Notepad ++中檢查最後一行時,它正確地包含數據和製表符。但是,它不具有行尾分隔符。相反,文件只是停留在最後一個製表符處(行的最後一個字段爲空)。據我所知,這是正常的。bcp拋出意外的EOF錯誤,除非該文件有額外的 n
奇怪的部分是,如果我添加一個行尾分隔符到文件末尾,最後一行正確導入。關於最後一行的唯一不尋常的事情是,第一個字段的數據在實際字符數據之前包含一個反引號。但反引號不能用作分隔符,因此似乎不太可能成爲問題,特別是當我添加一個「額外的」行尾分隔符時該行會導入。
那麼,分隔的文本文件應該總是在數據的末尾有一個行尾分隔符?還是有其他事情在這裏?
匿名的BCP代碼:
bcp DATABASENAME.dbo.tablename in "L:\directoryname\filename.txt" -c -S servername -U username -P passwordtext -F 2 -t \t -r \n
** 1 **是,** 2 **編號 –