oracle引用css报错,利用CSSCAN Utility 和 CSALTER Script进行Oracle DB的字符集转换手记

利用CSSCAN Utility 和 CSALTER Script进行Oracle DB的字符集转换手记

-Leaf Zhu (2010-11-22)

前言:

目前connect DB字符集都是AL32UTF8,但在我们日常操作中,过去可能会不小心建立了数据库是WE8ISO8859P1。如何将字符集改变呢。通常我们的做法有2种:1)重建DB 2)利用CSSCAN Utility 和 CSALTER Script进行Oracle DB的字符集。

建好DB后发现字符集不对,岂非痛心疾首。是推倒重建,还是曲线救库?

呵呵,以前都是用第一种方法。这次,我参考了Oracle官方文档,小试了把我的测试库,效果还不错。把字符集转换过程中遇到的问题和解决方法,以及详细攻略记录下来供大家参考。

当然最好是建库前就考虑好字符集等问题,三思而后行,避免亡羊补牢,因为转换有风险,数据库操作需谨慎。如果库中已经存在数据,不是所有字符都可以成功转换滴,而且转换只能从下往上(字符集子集向字符集父集转换是可行的),

字符集转换规则:

字符集子集向字符集父集转换是可行的,如ZHS16CGB231280向ZHS16GBK转换;而字符集父类向字符集子集进行转换时,会损失部分数据。

只包含英文字符数据的双字节字符集也可向单字节字符集转换,如ZHS16GBK(English Only)可以向US7ASCII正确转换。

编码范围相同的单字节字符集之间通常可以进行相互转换。

请注意,这里所说的没有数据损失,是指一种字符集A转换成另一种字符集B之后,可以再从字符集B正确转换成字符集A或字符集B能够正确表示字符集A中转换过来的数据。

CSSCA N Utility 和 CSA LTER Script:

CSSCAN Utility:用于检索字符集转换可能遇到的问题以及truncation of data.

CSALTER Script:是Database Character Set Scanner utility的一部分,用于转换字符集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值