一直在說截斷,但是並未發現錯誤,也修改了映射的長度(證明並無卵用),查了下網上說的解決辦法,說是改注冊表,,修改方法如下:
如果是:Jet引擎. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
如果是:ACE引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel
然后找到 TypeGuessRows這個項.默認為8的.修改為0.
===============
但是我試過了之后,不知道是不是設置的不對,還是會報截斷的錯誤,后來看到sql server導入的原理:
SQL Server的導入導出為了確定數據表的字段類型,取excel文件的前8行來判別。
如果前8條是少於255的字符串,則設成nvarchar(255) 類型,但如果Excel后面的記錄中有長度超過255的,導入時就會出錯。
即使在導入設置映射時調整了該字段的長度也不行。
於是我復制了一行超長的數據到第一行,sql識別為varchar(max),然后導入就成功了,如果有遇到和我相同情況的同學可以試試。