设为首页 收藏本站
查看: 1197|回复: 0

[经验分享] 解决中64位Win7系统上PLSQL无法连接ORACLE的方法(PLSQL无法识别ORACLE

[复制链接]

尚未签到

发表于 2017-12-10 15:55:16 | 显示全部楼层 |阅读模式
  最近新安装了64位的Win7系统,工作中需要用oracle数据库,而数据库是公司IT的DBA进行管理和维护的。
  我们只需要连接上去进行使用就可以了,于是我就在自己的机器上安装了oracle client x64和PL/SQL程序,oracle client也设置了环境变量等配置,但打开plsql的时候无法显示数据库,效果如下图:
DSC0000.png

  于是,我自己到网上查了一下,网上说法很多,如下说明。
1、问题
  Plsql到目前为止只有32位的程序,而大多数的桌面系统基本都是使用64位的windows操作系统,在64位的windows上,大多数情况下也是安装64位的ORACLE client程序,这种组合,导致plsql无法识别到ORACLE_HOME目录,读取不到tnsnames.ora文件中的连接串
2、解决方案
2.1使用instantclient-basic-win32-10.2.0.5
  去官方网站下载,将instantclient-basic-win32-10.2.0.5.zip文件解压,压缩后的文件,复制到指定的目下,如C:\oracle\instantclient_10_2\,最终instantclient的目录为C:\oracle\product\instantclient_10_2
2.2 在windows上配置环境变量
  右击“我的电脑”点击”属性“菜单,进入”系统属性“对话框,选择”高级“标签,点击“环境变量”,在用户变量框区域,新建一个名为‘ORACLE_HOME的变量名,根据自己的ORACLE实际安装目录填写其值,例如,笔者的环境的ORACLE_HOME的值为” C:\oracle\product\instantclient_10_2”
  参考出处:http://www.iyunv.com/database/201503/386267.html
  ===============================================================
  安装了64位的Oracle 11g,使用PLSQL Developer配置好之后 ,读不到oracle的数据库
  现象如下图:
DSC0001.jpg

  结合自己的分析和其它资料,总结了解决方法。
  1 因为PLSQL Developer是32位的,所有需要下载oracle32位的客户端,
  地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html。
  instantclient-basic-nt-11.2.0.4.0.zip。免安装版的,下载下来解压的本地就行了。
  2 假设:oracle的安装home路径为D:\oracle\product\11.2.0;
  客户端的解压地址为D:\oracle\instantclient_11_2。
  3 配置环境变量:这一步和其它方法略有所不同,这里可以不复制tnsnames.ora文件到客户端目录中。
  (相信这里就不用说怎么配置环境变量了吧):
  TNS_ADMIN =D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
  NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  说明:TNS_ADMIN,是指tnsnames.ora文件所在的目录名。
  如果指定到客户端目录,则必须把tnsnames.ora文件复制过来才可以。
  NLS_LANG环境变量,要设置成和数据库端一致,可以在SQLPLUS查询字符集信息
SQL> select userenv('language') nls_lang from dual;  NLS_LANG
  ----------------------------------------------------
  SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  4 客户端的使用在这里:
DSC0002.jpg

  设置Oracle Home 为oracle安装目录home
  设置OCI Library为oracle客户端的oci.dll文件的全路径名。
  Apply & Ok。
  5 关掉plsql,重启。看一下,现在有了
DSC0003.jpg

  这里主要就是两点,环境变量TNS_ADMIN配置成tnsnames.ora文件所在的目录名;
  PLSQL中OCI Library设置成oracle客户端的oci.dll。
  参考出处:http://blog.csdn.net/netdevgirl/article/details/27818709
  ==============================================================
  另外,也可以编写一个bat文件设置下环境变量;
  打开PLSQL Developer的安装目录C:\Program Files\PLSQL Developer
  编写一个a.bat,文件内容如下:
  @echo off
  set path=D:\Program Files\instantclient_11_2
  set ORACLE_HOME=D:\Program Files\instantclient_11_2
  set TNS_ADMIN=D:\Program Files\instantclient_11_2
  set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  start plsqldev.exe
  注意:set NLS_LANG=AMERICAN_AMERICA.AL32UTF8(为英文)
  set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(中文的)
  我这里oracle11g有可能数据库是中文所以我用了16gbk的,保存txt文本并且修改后缀名为bat,然后双击bat文件,作为PLSQL Developer的启动快捷方式替换PLSQL Developer传统启动方式
  5,关闭PLSQL Developer重新打开连接成功,我这里所有的都用管理员身份运行的;

  6,注意:以后Oracle的监听每次有修改过都要双击a.bat重新指向!要不然就会报ora-12154 tns:could not resolve the connect>  出处:http://blog.csdn.net/tang745163962/article/details/47419501

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-422706-1-1.html 上篇帖子: Oracle 11g 快捷版 下篇帖子: Oracle空间查询 ORA-28595
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表