数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Oracle817 版本 不同字符集之间的数据库导入

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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:[email protected]和我取得联系。

 

 




相关文章

相关软件