|
|
|
|
|
|
|
首页|文库|数据中心|方案中心 |专家库|厂商黄页|供求招标| 责编电话:010-68130909-1053 |
巧妙转换ORACLE数据库字符集张嘉瑜 |
| 01-4-29 上午 09:41:22 |
| 在大型数据库管理系统中,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等)转换。 |
| (网页编辑:徐向阳) |
| 相关文章 |