IMP-00016 Required Character Set Conversion Not Supported Error when Import to Oracle Database進出口- 00016所需的字符集轉換不支持時出現錯誤,導入到Oracle數據庫
When trying to import an Oracle database export, backup or dump, you may encounter the error IMP-00016 where the import terminate prematurely and not allow you to continue the import to the destination Oracle database.當試圖導入Oracle數據庫導出,備份或轉儲,您可能會遇到的錯誤進出口- 00016凡進口終止過早和不容許你繼續進口到目的地Oracle數據庫。 The error has the following message:錯誤有以下訊息:
IMP-00016: required character set conversion (type 1 to 871) not supported進出口- 00016 :所需的字符集轉換( 1型,以871 )不支持
IMP-00000: Import terminated unsuccessfully進出口- 00000 :進口終止失敗
Note that depending on your export file and database character set, the “type 178 to 871″ may change from each environment.請注意,根據您的匯出檔案和數據庫的字符集, “類型178至871 ”可能會改變,從每個環境。 Other typical character set conversion not supported error include from type 178 to 871 or from type 31 to 871.其他典型的字符集轉換不支持的錯誤類型包括從178到871或從類型31到871 。
The cause for the Oracle error is because import utility could not convert the character format of the export file into the native character format which is the setting of the operating system client.事業為Oracle錯誤是因為進口公用事業不能轉換為字符格式導出文件到本土性質的格式,這是設置操作系統的客戶端。 In other world, the issue is due to the fact that there is conversion problem between the export dump file and the destination databases which have different character set value when Oracle import utility try to import the exported database by using the Unix’s NLS_LANG local environment variable value.在其他世界,這個問題是由於事實上是有問題的轉換之間的進出口轉儲文件及目的地的資料庫,其中有不同的字符集的價值時,甲骨文的進口公用事業嘗試導入導出數據庫的使用Unix的nls_lang當地環境變量的值。 If the operating system environment doesn’t show the value of NLS_LANG, the import (and also export) will be done in US7ASCII as the default value for NLS_LANG on UNIX platforms is AMERICAN_AMERICA.US7ASCII, regardless of the database characterset.如果作業系統環境,不顯示的價值nls_lang ,進口(也是出口)將做在us7ascii作為預設值為nls_lang在UNIX平台上是american_america.us7ascii ,不論該數據庫的字符集。
The resolution to resolve the IMP-00016 is to set the the NLS_LANG parameter in local OS env variable value to match the character set of the destination database and import the dump file.該決議以解決進出口- 00016是設置該nls_lang參數在本地操作系統的Env變量的值相匹配的字符集的目標數據庫,並導入轉儲文件。 NLS_LANG can be change by using set or export command. nls_lang可以改變使用SET或出口的命令。 For example:例如:
$ export NLS_LANG=.WE8ISO8859P1元,出口nls_lang =. we8iso8859p1
NLS_LANG is set in the registry on Windows platforms. nls_lang設置在註冊表中在Windows平台上。 For example, on an English Windows client, the code page is WE8MSWIN1252.舉例來說,一個英語Windows客戶端,代碼頁是we8mswin1252 。 An appropriate setting for NLS_LANG is AMERICAN_AMERICA.WE8MSWIN1252.一個適當的設置nls_lang是american_america.we8mswin1252 。
You can check the character sets of the Oracle database in SQL*Plus by using following commands to list all NLS information:您可以檢查字符集的Oracle數據庫在SQL *加用以下命令列出所有免入息審查貸款資料:
SQL> col value format a25的SQL >中校值格式解答25
SQL> col parameter format a25的SQL >中校參數格式解答25
SQL> select * from v$nls_parameters;的SQL > “選擇*從V元nls_parameters ;
In the rows returned, NLS_CHARACTERSET will list the character set of the database.在該行返回, nls_characterset將列出字符集的數據庫。 In ideal situation to avoid and minimize the potential errors, the recommended practise will be like the following:在理想的情況,以避免和減少潛在的錯誤,所建議的執業將類似於以下內容:
At the system where database export is taken: Set NLS_LANG=.在制度下,數據庫的出口而採取的是:設置nls_lang =. Set the operating system NLS_LANG value to match the source or destination database character set will let Oracle assumes that the data being sent or received is encoded in the same character set as the database character set, so no validation or conversion is performed.一套作業系統nls_lang價值,以符合來源或目的地數據庫字符集將讓甲骨文的假設條件是,該數據被發送或接收的是編碼,在相同的字符集作為數據庫字符集,所以沒有審定或轉換的表現。 This can lead to corrupt data if the client code page and the database character set are different and conversions are necessary.這可能導致腐敗的數據,如果客戶端代碼頁和數據庫字符集是不同的轉換是必要的。 It’s more of an issue if source and destination databases have different character set, and source database contains special characters (for example chinese, japanese, spanish, german, special letters or other characters, which are not contained in US7ASCII), the target database will lose the original characters and show replacement characters instead.它更是一個問題,如果源和目標數據庫有不同的字符集,源數據庫包含特殊字符(例如中文,日語,西班牙語,德語,特別字母或其他字符,這是不包含在us7ascii ) ,目標數據庫將失去原來的特性和顯示替換字符。 So, it’s best if the source and destination database has the same or similar character set.所以,最好的,如果源和目標數據庫具有相同或相似的字符集。 To check the character set that a dump export and its database is using, check the export log, the characterset information should exists at the beginning of the log:檢查的字符集轉儲出口和其數據庫正在使用,檢查出口記錄,字符集的資料,應該存在於年初日誌: Export done in US7ASCII character set and AL16UTF16 NCHAR character set出口所做的us7ascii字符集和al16utf16 nchar字符集 Similary, the import log will contain the information about what character set the import process is using and also for the target database, plus possible warning message, even if the import failed with IMP-00016 error, at the beginning of the import log: similary ,導入日誌將包含的信息是什麼字符集的導入過程是使用和也為目標數據庫,再加上可能的警告訊息,即使導入失敗與進出口- 00016錯誤,在年初的進口記錄: import done in US7ASCII character set and AL16UTF16 NCHAR character set進口所做的us7ascii字符集和al16utf16 nchar字符集 IMPORTANT : This is a machine translated page which is provided "as is" without warranty. 重要說明 :這是一個機器翻譯網頁是“按原樣”提供的擔保。 Machine translation may be difficult to understand.機器翻譯可能很難理解。 Please refer to請參閱 original English article英文原版的文章 whenever possible.只要有可能。 Share and contribute or get technical support and help at分享和貢獻,或取得技術的支持和幫助,在 My Digital Life Forums 我的數字生活論壇 . 。
server uses WE8MSWIN1252 character set (possible charset conversion)服務器使用we8mswin1252字符集(可能的字符集轉換)
import server uses UTF8 character set (possible charset conversion)進口服務器使用utf8進行字符集(可能的字符集轉換)
export server uses UTF8 NCHAR character set (possible ncharset conversion)出口Server使用utf8進行nchar字符集(可能的ncharset轉換)
Related Articles相關文章


















