Sqlserver 平面文件導入/ SSIS FlatFileSource導入文件時 出現LocaleID is not installed報錯問題


最近在使用SqlServer和SSIS導入一個CSV文件到數據庫時(SSIS選用的FlatFileSource作為數據流源),老是遇到  The LocaleID 4 is not installed on this system. 這個錯誤。

 

后來搞了老半天發現是FlatFileSource的Locale選項選擇上出現了問題,由於要導入的CSV文件中包含中文,所以在用Sqlserver/SSIS導入csv時我在FlatFileSource的Locale上選擇了Chinese (Simplified)避免中文進入數據庫后變成亂碼(如下圖所示),但是客戶的數據庫服務器上安裝的是英文的windows server 2008,操作系統中沒有中文語言包,所以當在Sqlserver/SSIS中的FlatFileSource中選擇Locale為Chinese (Simplified)后,Sqlserver在windows server系統中找不到Chinese (Simplified)這個區域的語言包所以就出現了上面那個截圖中的錯誤。

 

要解決這個問題,你首先要清楚SSIS所在的服務器上操作系統安裝了什么語言包,然后最重要的一點是只要將FlatFileSource中的Code page設置為正確的編碼就可以解決中文導入數據庫后變成亂碼的問題,你可以在FlatFileSource中選擇好Code page后點Preview先預覽一下,如果預覽的時候數據不是亂碼那么入庫后數據也應該就不會是亂碼。本例中我發現客戶服務器操作系統雖然不支持Chinese (Simplified)這個Locale,但是支持Chinese (people's republic of china)這個Locale,將FlatFileSource的Locale像下面截圖中改成Chinese (people's republic of china),然后確保Code page設置為936后,我就將CSV文件成功地導入到了數據庫中並且沒有出現亂碼。

 


免責聲明!

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



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