先是导入导出日志显示乱码,更改了一下字符集,后来再次导入的时候发现log报错
ORA-39082: Object type TRIGGER:“CISP”.“INSERT_A1035_JYDS” created with compilation warnings
-----------------------------------------------------------------------------------------------------------------------------割割割
估摸着是字符集的事情。
数据库服务器字符集(就是数据库的)
select * from nls_database_parameters; 来源于props$,是表示数据库的字符集。
客户端字符集环境
表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
select * from nls_instance_parameters; 其来源于v$parameter
LANG是针对Linux系统的语言、地区、字符集的设置。
NLS_LANG是针对Oracle语言、地区、字符集的设置。
会话字符集
select * from nls_session_parameters;
其来源于v$nls_parameters表示会话自己的设置,可能是会话 的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
如果多个设置存在的时候,NLS作用优先级别:
------------- Sql function > alter session > 环境变量或注册表> 参数文件> 数据库默认参数
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。
字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk