首页 > 代码库 > PL/SQL Developer 连接64位数据库出现乱码错误

PL/SQL Developer 连接64位数据库出现乱码错误

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/41479997

安装64bit oracle11g数据库后,使用PL/SQL连接数据库,解决“中文字符”乱码问题

现场环境

操作系统

WINDOWS 2008 64bit

数据库版本

Oracl11g 64bit 11.2.0.3

PL/SQL版本

10.0.2.1697

说明:PL/SQL软件只能连接32位数据库,所以实际工作中如果需要用其连接64位数据库,需要安装32位客户端。

实施操作

实现使用PL/SQL连接oracle11g数据库。

部署时我参考的我以往的一篇经验总结:http://blog.csdn.net/huangyanlong/article/details/18466053

但这次生产库出现了错误。

使用时出现错误,如下现象:

错误现象:出现乱码。

解决方法

检查数据库语言设置:

SQL> select userenv(‘language‘) nls_lang from dual;

NLS_LANG

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":

1>.选择"Path" - 点击"编辑", 把 " D:\soft\app\Administrator\product\ instantclient_11_2;" 加入;

2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为" D:\soft\app\Administrator\product\ instantclient_11_2;", 点击"确定";

3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";

再次执行PL/SQL Developer,中文已经正确显示出来,如下所示:

总结

使用PL/SQL Developer通过安装32位客户端,成功解决连接64位数据库,但出现中文字符乱码问题,原来是WINDOWS系统下,还需要设置相应的环境变量。

后续网络查找资料

下面是在网上找的一篇关于使用PL/SQL Developer连接64位数据库的方法,总结已经很全面了,在这里转载过来,分享给朋友们。

下面为转载:

1)安装Oracle 11g 64位

2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)

下载地址:http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html

 

下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2):D:\app\ZC\product\instantclient_11_2。

 

拷贝数据库安装根目录下的一个目录D:\app\ZC\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下D:\app\ZC\product\instantclient_11_2(其实只需要 NETWORK\ADMIN\tnsnames.ora)

3)安装PL/SQL Developer

安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:

Oracle Home :D:\app\ZC\product\instantclient_11_2

OCI Library :D:\app\ZC\product\instantclient_11_2\oci.dll

4) 设置环境变量(修改PATH和TNS_ADMIN环境变量) 对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:

SQL> select userenv(‘language‘) nls_lang from dual;

NLS_LANG

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":

1>.选择"Path" - 点击"编辑", 把 "D:\app\ZC\product\instantclient_11_2;" 加入;

2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\app\ZC\product\instantclient_11_2;", 点击"确定";

3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";

最后点击"确定"退出。

启动 PL/SQL Developer ,运行无问题。

 

原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/41479997

PL/SQL Developer 连接64位数据库出现乱码错误