WE8ISO8859P1导入ZHS16GBK中

American_America.WE8ISO8859P1 字符集imp到SIMPLIFIED CHINESE_CHINA.ZHS16GBK数据库中
目的:是把American_America.WE8ISO8859P1字符集中的dmp文件导入到SIMPLIFIED CHINESE_CHINA.ZHS16GBK数据库中
环境:同一台服务器上创建两个数据库库data_A字符集是American_America.WE8ISO8859P1 ,data_B字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK,服务器系统是win2003+oracle9.2
因为导出,导入用到oracle客服端的环境,所以设置时要注意服务器(server)端的字符集又要注意客服端(client),导出文件就以:S服务器字符集_C客服端字符集.dmp为标准;

注意:做一下修改之前一定要备份你的数据库

1.导出dmp文件
服务器端的字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK,客服端的字符集设置为American_America.WE8ISO8859P1,可以用修改注册表来实现:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0(HOME0,HOME1这个看你自己的实际情况)里面NLS_LANG的值。

2 修改数据字典 (以sys的身份)
         SQL>CONNECT sys/chanet as admin;
         SQL>UPDATE sys.props$
                 SET value$='WE8ISO8859P1' WHERE name='NLS_CHARACTERSET';
         SQL>UPDATE sys.props$
                 SET value$='WE8ISO8859P1' WHERE name='NLS_NCHAR_CHARACTERSET';
         SQL>commit;
3.重新启动数据库
  sql>shutdown immediate
  sql>startup
4.用imp导入数据库

5.把数据字典修改过来.
 SQL>CONNECT sys/chanet as admin;
SQL>UPDATE sys.props$
 SET value$='ZHS16GBK' WHERE name='NLS_CHARACTERSET';
SQL>UPDATE sys.props$
 SET value$='ZHS16GBK' WHERE name='NLS_NCHAR_CHARACTERSET';
SQL>commit;
6.再把客服端的字符集给修改过来
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0(HOME0,HOME1这个看你自己的实际情况)里面NLS_LANG的值American_America.WE8ISO8859P1改回SIMPLIFIED CHINESE_CHINA.ZHS16GBK
7.重新启动数据库
  sql>shutdown immediate
  sql>startup
这样你在sqlplus里面查询就不会查询乱码了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14906671/viewspace-548849/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14906671/viewspace-548849/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值