中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
Oracle817 版本 不同字符集之间的数据库导入
作者:未知 时间:2003-03-21 12:12 出处:Blog 责编:chinaitpower
              摘要:暂无

Oracle817 版本 不同字符集之间的数据库导入

 

       由于业务原因,需要将一英文字符集(American_America.WE8ISO8859P1)的数据库DMP文件导入到一中文字符集(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)的数据库中。由于字符集的不同,需要将中文字符集的数据库环境改变成英文字符集。遇到很多的麻烦,通过在网上查找资料,终于解决了问题。在这个过程中,发现网友们也有同样的问题,为了,让大家在以后能够顺利的完成此类工作,现将把我导入成功的过程写出来,与大家共享。

 

一、系统环境:

 

       导出环境:

      

       主机:Compaq 小型机

       操作系统:Unix

       数据库:oracle8.1.7{英文字符集(American_America.WE8ISO8859P1}

 

       导入环境:

 

       主机:普通Pc

       主频:PIII750

       内存:192M

       操作系统:Windows 2000 server

       数据库:Oracle8.1.7中文字符集(SIMPLIFIED CHINESE_CHINA.ZHS16GBK

             

       注:导出过程省略

 

二、导入过程

      

1、  win2000系统中的oracle注册表

 

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]中的[NLS_LANG]键值

SIMPLIFIED CHINESE_CHINA.ZHS16GBK”改成

American_America.WE8ISO8859P1

 

2、  system用户的身份,在Sql-plus 下执行以下语句:

 

update sys.props$ set value$='WE8ISO8859P1' where name='NLS_CHARACTERSET'

 

update  sys.props$ set value$='WE8ISO8859P1' where name='NLS_NCHAR_CHARACTERSET'

 

commit;

 

3、  重新启动oracle

 

4、  开始导入数据库

 

userid = 用户名/密码@连结串

buffer = 60000

log = c:\dmp.log

file = c:\导入数据文件名称.dmp

fromuser = 用户名

touser = 用户名

 

       这里要注意,要确保导入的表空间和用户已经建立并与导出文件一至,还要确认用户是否拥有dba的权限,否则有可能会影响导入数据的完整。

 

5、  检查导入效果,在目前环境下,测试数据是否正确,是否有乱码,是否有未成功导入的表和其他触发器、过程和函数等信息。确认导入没有问题后,进入到下一步。

6、  win2000oracle字符集环境恢复成中文字符集。

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]中的[NLS_LANG]键值

American_America.WE8ISO8859P1 改回

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

7、  system用户的身份,在Sql-plus 下执行以下语句:

 

update sys.props$ set value$=' ZHS16GBK ' where name='NLS_CHARACTERSET'

 

update  sys.props$ set value$=' ZHS16GBK ' where name='NLS_NCHAR_CHARACTERSET'

 

commit;

 

8、  重新启动数据库。

 

检查你的数据库中的数据,如果没有乱码,而且你的程序能够在这个环境下正常运行,那么恭喜你,你也成功了!!

 

       以上是我导入的整个过程,如有纰漏之处,还希望大家指点,您可以通过Email:hawk_flying@sina.com和我取得联系。

 

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有