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相关文章


















