Excel 匯入 Sql Server出錯——“文字被截斷,或者一個或多個字元在目的碼頁中沒有匹配項”錯誤的解決...

iteye_20954發表於2011-12-09

有人說應該先轉成Access, 再轉到Sql Server。 其實用處並不大, 要截斷的還是被截斷了。


原因是,SQL Server的匯入匯出為了確定資料表的欄位型別,取excel檔案的前8行來判別。如果前8條是少於255的字串,則設成nvarchar(255)型別,但如果Excel後面的記錄中有長度超過255的,匯入時就會出錯。即使在匯入設定對映時調整了該欄位的長度也不行。

解決的辦法是改登錄檔

如果是: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.

相關文章