关于Oracle数据库中的汉字显示总结
2007-05-12 12:23:30 来源:WEB开发网Oracle以其强大的数据库管理能力、高安全性、多用户操作时数据的一致性,赢得了用户的广泛青睐,获得了很高的市场占有率。但是,它在汉字信息显示时存在多种字符集,且相互之间不能通用,这就给多数据库之间的数据共享带来了一些麻烦。
笔者从事Oracle数据库管理及应用软件的开发工作多年,常遇到Oracle数据库汉字显示的问题,主要现象是汉字显示为不可识别的乱码,信息无法使用。本文介绍笔者在实际工作中的一点心得,与大家一起探讨。
中英文Oracle之间的数据共享
在笔者的实际工作中,有为多个二级厂矿开发的基于Oracle数据库的应用程序,而各个单位所用的Oracle数据库,在安装时所采用的字符集各不相同,有的用英文字符集,有的用中文字符集。当表中的数据只是数字、英文信息时,数据共享是可以的; 当表中含有汉字信息时,以正常的方式进行共享,就看不到汉字了,而只会见到一些乱码。下面以Oracle 7.3版的数据库为例说明解决方法。
假设源数据库是中文字符集,目标数据库是英文字符集,利用 Delphi作为转换工具。实际的步骤依据导入和导出有所不同,导出数据时步骤如下:
1. 配置客户端字符集
首先将本机Oracle客户端的字符集配置得和源数据库的字符集一致。打开注册表,找到HKEY_LOCAL_MACHINE,选下面的SOFTWARE,再选Oracle,在注册表中找到NLS_LANG,将值改为:AMERICAN_AMERICA.ZHS16CGB231280。
2. 配置数据库别名
用Delphi的工具SQL EXPLORER配置两个数据库假名,其中DBSOURCE1用来连接源数据库,DBMIDDLE1用来连接中间数据库(Paradox表)。
3. 导出
打开Delphi的工具Database DeskTop,在主菜单中选Tools下面的Utilities,再选Copy,会弹出一个新的对话框,在Alias(数据库别名)中选择DBSOURCE1,并输入用户口令。在打开的数据库中选择需要的表,点击OK按钮。在Alias(数据库别名)中选择DBMIDDLE1。在File Name栏中输入目标表名,点击COPY按钮,如果显示: Copy Successfully Completed,则数据导出成功。
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
赞助商链接