Oracle数据库字符集进行转换的窍门

数据库 Oracle
以下的文章主要向你讲述的是如何巧妙将Oracle数据库字符集进行转换,Oracle数据库字符集进行转换是有窍门可以运用的,以下的文章将会告诉你实际运用。

我们都知道在大型的数据库管理系统里,Oracle数据库不论是在数据库管理能力上还是安全性等相关方面的作用皆是有目共睹的。国内企业使用Oracle数据库的也较多,但是由于Oracle不同版本的字符集,给数据显示、数据备份、数据转换等实际工作带来了不少麻烦。

一、字符集参数

 

一旦数据库创建后,数据库的字符集是不能改变的。因此,考虑使用哪一种字符集是十分重要的。Oracle数据库字符集应该是操作系统本地字符集的一个超集。存取数据库的客户使用的字符集将决定选择哪一个超集,即数据库字符集应该是所有客户字符集的超集。

 

下面介绍一些与字符集有关的NLS_LANG参数:

 

NLS_LANG格式:

  1. NLS_LANG=language_territory.charset  

 

有三个组成部分(语言、地域和字符集),每个组成成分控制了NLS子集的特性。三个成分可以任意组合,例如:

 

 

  1. AMERICAN_AMERICA.US7SCII   
  2. 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)查看字符集内容

 

 

  1. SQL>SELECT * FROM PROPS$;  

 

3)修改相应的字符子集

 

 

  1. SQL>UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘   
  2. WHERE NAME=’NLS_LANGUAGE’;  

 

 

4) 递交COMMIT;

 

2、NLS_LANG参数的具体应用:

 

1)采用服务器端/客户端方式,两端字符集不同

 

修改客户端字符集:

 

WIN95/WIN98:修改注册表

 

 

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\NLS_LANG  

 

UNIX:按照1方法,直接进入Oracle 修改。

 

2)不同字符集使用EXP/IMP命令

 

按照1方法,修改IMP端的字符集设置,如果是WIN98/WIN95系统,还必须修改注册表。注意:NLS_LANG三个子集的参数必须一致。另外,如果字符集单双字节设置不同,则不能通过修改字符集进行转换。可以使用其他方式,不修改字符集,进行Oracle数据库搬移,如数据量比较小,可以使用SQLLOAD命令,通过文本文件转换;使用其他Oracle数据库软件(ACCESS,FOXPRO等)转换。

 

 【编辑推荐】

  1. 获得Oracle DBA工作并不难
  2. 调用Oracle存储过程的两大步骤
  3. Oracle11g用于中型企业很合适的原因
  4. 成为成功Oracle DBA的六个必备思想
  5. Oracle merge into的实操示例
责任编辑:佚名 来源: 博客园
相关推荐

2010-05-06 18:01:07

Oracle Expr

2010-04-13 12:23:34

Oracle数据库

2010-04-21 09:49:10

Oracle数据库字符

2010-04-23 10:18:42

Oracle数据库字符

2010-05-10 11:50:33

Oracle数据库字符

2009-11-20 17:06:49

Oracle数据库字符

2019-09-11 15:13:57

Oracle数据库存储

2011-04-11 10:59:33

Oracle字符集

2011-04-11 11:05:12

Oracle字符集

2010-04-30 10:16:22

Oracle字符集

2009-11-20 16:52:35

Oracle字符集

2010-04-16 09:36:45

JDBC桥接Oracl

2011-05-18 10:36:21

数据库数据导入

2011-05-20 13:24:39

oracle字符集

2010-04-27 13:21:58

Oracle数据字符集

2011-08-15 21:17:38

Oracle数据库字符集

2019-09-10 07:58:01

字符集MySQL数据库

2010-04-28 17:29:07

Oracle字符集

2010-05-06 14:40:59

Oracle字符集

2009-07-29 13:42:04

Oracle中文显示
点赞
收藏

51CTO技术栈公众号