QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1541|回复: 0
收起左侧

[分享] 巧妙转换ORACLE数据库字符集

[复制链接]
发表于 2006-11-7 13:54:57 | 显示全部楼层 |阅读模式 来自: 中国陕西西安

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在大型数据库管理系统中,ORACLE数据库不论在数据库管理能力还是在安全性方面都是无可非议的。国内企业使用ORACLE数据库的也较多,但是由于ORACLE不同版本的字符集,给数据显示、数据备份、数据转换等实际工作带来了不少麻烦。  
: A" k! Q4 j& @- D一、字符集参数  : p1 b. y+ s" q; M
一旦数据库创建后,数据库的字符集是不能改变的。因此,考虑使用哪一种字符集是十分重要的。数据库字符集应该是操作系统本地字符集的一个超集。存取数据库的客户使用的字符集将决定选择哪一个超集,即数据库字符集应该是所有客户字符集的超集。  
9 L; C( F3 [- _, e& r下面介绍一些与字符集有关的NLS_LANG参数:  
  `) n, V+ d9 w1 jNLS_LANG格式:NLS_LANG=language_territory.charset  
9 b' f8 `. ^( N. Q$ x有三个组成部分(语言、地域和字符集),每个组成成分控制了NLS子集的特性。三个成分可以任意组合,例如:  1 `8 M8 v1 H/ f2 |$ j7 h
AMERICAN_AMERICA.US7SCII   
/ L' G8 }! h2 uJPANESE_JAPAN.JA16EUC  
% j, [& J" I. ?其中:language 指定服务器消息的语言。  6 O, `  O. q/ ]+ e5 q. ?2 l" U  o
territory 指定服务器的日期和数字格式。  8 H% Y) c9 U9 V2 k! J
Charset 指定字符集  " K5 j( w; t8 B9 Z7 I
还有一些子集可以更明确定义NLS_LANG参数:  
4 H% }( q0 j( q2 \NLS_DATE_FORMAT 缺省的日期格式  3 E. w/ k3 F' |! x  d
NLS_DATE_LANGUAGE 缺省的日期语言  ) ?" n3 Z" \- s$ H) S) p+ y( G
NLS_NUMBERIC_CHARACTERS 小数字符和组分隔开  
5 t9 F8 w! @0 f+ v" ]1 ^& RNLS_CURRENCY 本地货币字符  ( a; B3 [, A6 e  ^
NLS_ISO_CURRENCY ISO货币字符  5 e5 ]1 a7 |1 P$ @# T. S5 _4 S3 P' A
NLS_SORT 字符排序序列   
8 e# \% p7 @& {) A% S二、字符集转换  
- N8 f: E0 y7 {& E0 p1NLS_LANG参数的修改方法:  
6 j" g  v/ W8 _% i" p" s1 Y1)用SYS用户名登陆ORACLE  9 i  u. G" V: ]: F
2)查看字符集内容   
8 ]) A' X( q! i& p& L. FSQL>SELECT * FROM PROPS$;  0 o8 M6 `% p$ E
3)修改相应的字符子集   
! n$ t! j& h) y$ l  R2 i4 ^5 WSQL>UPDATE PROPS$ SET VALUE$=’SIMPLIFIED CHINESE ‘   + ~" U8 o& _/ e( `! H
WHERE NAME=’NLS_LANGUAGE’;  
$ O/ ]) n4 M2 C  U1 q' L4) 递交COMMIT;  
2 ]3 F% ^& [  u2NLS_LANG参数的具体应用:  
  g' r2 e' c! p% K1)采用服务器端/客户端方式,两端字符集不同  
1 O7 u- Q% s; v" M2 a3 |! U修改客户端字符集:  * Q5 s7 e5 S. d$ k" [
WIN95/WIN98:修改注册表   ( x5 L9 u/ a6 x1 Y& O4 P
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG  " P4 A; Q. l0 V+ k$ U5 K
UNIX:按照1方法,直接进入ORACLE 修改。  ( }( T" |* s$ r9 U1 b
2)不同字符集使用EXP/IMP命令  + p4 s6 T+ G  C1 N& J8 U; p, @
按照1方法,修改IMP端的字符集设置,如果是WIN98/WIN95系统,还必须修改注册表。注意:NLS_LANG三个子集的参数必须一致。另外,如果字符集单双字节设置不同,则不能通过修改字符集进行转换。可以使用其他方式,不修改字符集,进行ORACLE数据库搬移,如数据量比较小,可以使用SQLLOAD命令,通过文本文件转换;使用其他数据库软件(ACCESS,FOXPRO等)转换。  
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表