我試圖在SQL Server中運行以下命令,它不工作:批量插入在SQL服務器失敗「列太長」
bulk insert dbo.Sales
from 'C:\Users\sram1\Downloads\SalesFile20161103\SALECOPY.TXT'
with
(
FIRSTROW = 1,
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '0x0a'
)
這裏是印刷錯誤信息:
Msg 4866,Level 16,State 1,Line 131
批量加載失敗。數據文件中第1行第1列的列太長。驗證字段終止符和行終止符是否正確指定。Msg 7399,Level 16,State 1,Line 131
鏈接服務器「(null)」的OLE DB提供程序「BULK」報告了錯誤。提供者沒有提供任何關於錯誤的信息。Msg 7330,Level 16,State 2,Line 131
無法從鏈接服務器「(空)」的OLE DB提供程序「BULK」中獲取一行。
我看着整個StackOverflow,看到我應該改變rowterminator,我已經嘗試'0x0a'和'\ r \ n'。我的數據是用製表符分隔的,但看起來在某些情況下,製表符是2個空格,其他時間更多,其他時間更少。這可能是問題的根源嗎?如果是這樣,我該如何解決它?
它是製表符,即ascii字符9,還是空格?如果選項卡已被轉換爲空格,那麼它根本找不到任何分隔符。 –