PLSQL Developer 不能连接 oracle 11g 64位 的解决办法

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


下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载http://www.oracle.com/technetwork/topics/winsoft-085727.html),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_11_2): D:\u01\Oracle\product\instantclient_11_2。
 
拷贝数据库安装根目录下的一个目录 D:\u01\Oracle\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下 D:\u01\Oracle\product\instantclient_11_2(其实只需要 NETWORK\ADMIN\tnsnames.ora)
 
3)安装PL/SQL Developer
 
安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
 
Oracle Home : D:\u01\Oracle\product\instantclient_11_2
 
OCI Library :D:\u01\Oracle\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:\u01\Oracle\product\instantclient_11_2;" 加入;
 2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为" D:\u01\Oracle\product\instantclient_11_2;", 点击"确定";
 3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
 最后点击"确定"退出.

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

乱码解决:在PLSQL Developer目录下编辑如下bat文件,替换其快捷方式,启动PLSQL Developer:

@echo off
set path=D:\u01\oracle\product\instantclient_11_2
set ORACLE_HOME=D:\u01\oracle\product\instantclient_11_2
set TNS_ADMIN=D:\u01\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
start plsqldev.exe

  注:NLS_LANG前半部分必须是AMERICAN_AMERICA,因为instant client不支持其他语言;而后半部分可以根据你数据库的字符集调整,如果数据库采用AL32UTF8,则可以设置AL32UTF8。

posted @ 2013-11-26 13:14  peterpanzsy  阅读(1528)  评论(0编辑  收藏  举报