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


答案是網上查詢來的,我測試了,沒問題

http://blog.csdn.net/yenange/article/details/7056852

有人說應該先轉成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.

===============

我改了jet就好了,非常cool


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM