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

时间: 2024-09-29 02:11:35

PL/SQL Developer 连接64位数据库出现乱码错误的相关文章

PL/SQL Developer 连接 64位Oracle 服务端 解决方案

PL/SQL是32位程序,只能通过32位的Oracle驱动连接Oracle服务器.如果Oracle服务器是64位的,那么只能通过需要通过一个32位的Oracle客户端,来搭建连接. 到官网下载一个客户端:http://www.oracle.com/technetwork/topics/winsoft-085727.html .根据Oracle服务端的版本号选择,相应的 客户端 :instantclient-basic-win32-11.2.0.1.0.zip 保存到客户端任意路径下,例如D:\s

PL/SQL Developer连接远程Oracle数据库

转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端oracle配置 LISTENER_ORCL =  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))ORACLR_CONNECTION_DATA =  (DESCRIPTION =    (ADDRESS_LIST =     

使用instantclient 11 2和pl/sql Developer连接oracle远程数据库

1.下载Instant Client         Oracle官网地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 或CSDN免积分下载:instantclient-basic-nt-11.2.0.2.0         下载后是一个压缩文件,解压后的文件叫instantclient_11_2,放在自己喜欢的目录,如:D:/instantclient_11_2 2.D

在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘

最近接手了一个项目,服务器端数据库是oracle 11g 64位.由于主要工作不是开发,也不想在自己的电脑上安装庞大的oracle数据库,因此寻思着只通过数据库管理工具连接数据库进行一些常用的查询操作. 运行环境 服务器:windows server 2008 64位 服务器oracle版本:oracle 11g R2 64位,字符集是ZHS16GBK. 本机:windows 7 64位 需要准备的软件 1.Instant Client 12.1.0.2.0 32位和64位 Instant Cl

PL/SQL Developer连接本地Oracle 11g 64位数据库和快捷键设置

1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了.管它呢?先以非登录方式

pl/sql developer 连接本地ORACLE 11g 64位数据库

1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了.管它呢?先以非登录方式

Oracle---使用PL/SQL Developer连接Oracle12C(64位)版本

Oracle---使用PL/SQL Developer连接Oracle12C(64位)版本 1.安装Oracle 12c 64位 2.安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0) 下载instantclient-basic-nt-12.1.0.1.0.zip,将其解压至Oracle安装目录的Product下(本机命名为:instantclient_12 _1):C: \app\orcl\product\instantclient _12

PL/SQL Developer跑在Oracle 64位数据库上初始化错误

安装完Oracle(64位).PL/SQL Developer后执行PL/SQL出现例如以下的错误: 网上查资料说,我的PL/SQL Developer与ORACLE不兼容,即PL/SQL不支持64位的ORACLE,因此得下一个32位的ORCALEclient并配置对应的參数: 解决步骤小记: 一.下载ORACLE 32位client 下载地址:http://www.onlinedown.net/soft/102902.htm(Oracle 10gclient精简绿色版) 二.解压到ORACLE

PL\SQL Developer连接本地Oracle 11g数据库

1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer. 奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL  Developer.按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了.管它呢?先以非登录方式