巧妙转换ORACLE数据库字符集
2008-02-09 10:35:42 作者
在大型数据库治理系统中,Oracle数据库不论在数据库治理能力还是在安全性方面都是无可非议的。国内企业使用ORACLE数据库的也较多,但是由于ORACLE不同版本的字符集,给数据显示、数据备份、数据转换等实际工作带来了不少麻烦。
一、字符集参数
一旦数据库创建后,数据库的字符集是不能改变的。因此,考虑使用哪一种字符集是十分重要的。数据库字符集应该是操作系统本地字符集的一个超集。存取数据库的客户使用的字符集将决定选择哪一个超集,即数据库字符集应该是所有客户字符集的超集。
下面介绍一些与字符集有关的NLS_LANG参数
NLS_LANG格式NLS_LANG=language_territory.charset
有三个组成部分(语言、地域和字符集),每个组成成分控制了NLS子集的特性。三个成分可以任意组合,例如
AMERICAN_AMERICA.US7SCII
JPANESE_JAPAN.JA16EUC
其中language 指定服务器消息的语言。
territory 指定服务器的日期和数字格式。
Charset 指定字符集
还有一些子集可以更明确定义NLS_LANG参数
NLS_DATE_FORMAT 缺省的日期格式
NLS_DATE_LANGUAGE 缺省的日期语言
NLS_NUMBERIC_CHARACTERS 小数字符和组分隔开
NLS_CURRENCY 本地货币字符
NLS_ISO_CURRENCY ISO货币字符
NLS_SORT 字符排序序列
二、字符集转换
1、NLS_LANG参数的修改方法
1)用SYS用户名登陆ORACLE。
2)查看字符集内容
SQL>SELECT * FROM PROPS$;
3)修改相应的字符子集
SQL>UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘
WHERE NAME=’NLS_LANGUAGE’;
4) 递交COMMIT;
2、NLS_LANG参数的具体应用
1)采用服务器端/客户端方式,两端字符集不同
修改客户端字符集
WIN95/WIN98修改注册表
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
UNIX按照1方法,直接进入ORACLE 修改。
2)不同字符集使用EXP/IMP命令
按照1方法,修改IMP端的字符集设置,假如是WIN98/WIN95系统,还必须修改注册表。注重NLS_LANG三个子集的参数必须一致。另外,假如字符集单双字节设置不同,则不能通过修改字符集进行转换。可以使用其他方式,不修改字符集,进行ORACLE数据库搬移,如数据量比较小,可以使用SQLLOAD命令,通过文本文件转换;使用其他数据库软件(Access,FOXPRO等)转换。
相关文章
- · ORLAND.DATA.ORACLE不匹配错误
- · Oracle中通过存储过程中返回数据集及在Delphi中使用
- · delphi+Oracle做的三层结构的干部管理系统
- · 让ReportBuilder彻底支持Oracle
- · SQLServer和Oracle的常用函数对比
- · JBuilder2005+JBOSS+Oracle9i的环境配置
- · JBuilder2005+JBOSS+Oracle9i环境配置
- · 在Oracle快速进行数据行存在性检查
- · 利用 Oracle DMS 测量 Java 应用程序性能
- · Java与Oracle的两种连接方式
- · Oracle RAC on Sun Cluster 3.1(step by step)
- · Eclipse3.2+Tomcat5.5.17+Oracle9配置
- · JBuilder9+Weblogic Platfrom 8.1+Oracle 9i安装和配置
- · Oracle应用服务器实现Java CORBA
- · Java操作Oracle数据库(建表,插数据,删除)
- · java通过JDBC访问Oracle的2个异常
- · 一个ORACLE分页程序,挺实用的.
- · php+oracle 分页类
- · 在JAVA中连接Oracle数据库
- · PHP 留言簿(带Oracle数据库分页的显示功能)
- · 用PHP连mysql和oracle数据库性能比较
