有人說應該先轉成Access, 再轉到Sql Server。 其實用處並不大, 要截斷的還是被截斷了。
原因是,SQL Server的導入導出爲了確定數據表的字段類型,取excel文件的前8行來判別。如果前8條是少於255的字符串,則設成nvarchar(255)類型,但如果Excel後面的記錄中有長度超過255的,導入時就會出錯。即使在導入設置映射時調整了該字段的長度也不行。
解決的辦法是改註冊表
如果是:Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel
然後找到 TypeGuessRows這個項.默認爲8的.修改爲0.