关于PLSQL登陆Oracle11G无法读取Oracle数据库问题
Posted chc24w
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于PLSQL登陆Oracle11G无法读取Oracle数据库问题相关的知识,希望对你有一定的参考价值。
由于楼主是新机子的WIN10系统,所以有些配置环境还没有配置好,所以有可能是配置环境问题,也或者在oracle工具的首选项中主目录没有配置好。
原文地址:https://www.2cto.com/database/201503/386267.html
1、问题
Plsql到目前为止只有32位的程序,而大多数的桌面系统基本都是使用64位的windows操作系统,在64位的windows上,大多数情况下也是安装64位的ORACLE client程序,这种组合,导致plsql无法识别到ORACLE_HOME目录,读取不到tnsnames.ora文件中的连接串
2、解决方案
2.1 在windows上配置ORACLE_HOME环境变量
右击“我的电脑”点击”属性“菜单,进入”系统属性“对话框,选择”高级“标签,点击“环境变量”,在用户变量框区域,新建一个名为‘ORACLE_HOME的变量名,根据自己的ORACLE实际安装目录填写其值,例如,笔者的环境的ORACLE_HOME的值为” C:\oracle\product\12.1.0\dbhome_1”
2.2 引用instantclient-basic-win32-10.2.0.5
将instantclient-basic-win32-10.2.0.5.zip文件解压,压缩后的文件,复制到PLSQL Developer安装目录的product目下,如C:\oracle\product\,最终instantclient的目录为C:\oracle\product\C:\oracle\product\instantclient-basic-win32-10.2.0.5\instantclient_10_2
instantclient-basic-win32-10.2.0.5.zip文件,笔者已上传到“系统性能优化专业群”群共享中供各位下载。
2.3 在PLSQL中配置ORACLE_HOME与OCI库
2.3.1 配置ORACLE_HOME
在PLSQL主菜单上点击Tools,选择Preferences子菜单,进入“首选页”对话框,在“连接”选项卡的右侧,找到“Oracle主目录名(自动检测为空)”,在该框中填写ORACLE的HOME目录名,如:“C:\oracle\product\12.1.0\dbhome_1”
2.3.2 配置OCI库
在PLSQL主菜单上点击Tools,选择Preferences子菜单,进入“首选页”对话框,在“连接”选项卡的右侧,找到“OCI库(自动检测为空)”,在该框中填写oci.dll文件的绝对路径,如:“C:\oracle\product\instantclient-basic-win32-10.2.0.5\instantclient_10_2\oci.dll”
3、结果
上述四步配置完成后,重启PLSQL,就可以识别ORACLE_HOME,并能找到ORACLE客户端tnsnames.ora文件中的数据库连接串了。
原文地址:http://blog.csdn.net/netdevgirl/article/details/27818709
另外一种解决办法:
安装了64位的ORACLE 11g,使用PLSQL Developer配置好之后 ,读不到oracle的数据库。
现象如下图:
结合自己的分析和其它资料,总结了解决方法。
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 客户端的使用在这里:
设置Oracle Home 为oracle安装目录home
设置OCI Library为oracle客户端的oci.dll文件的全路径名。
Apply & Ok。
5 关掉plsql,重启。看一下,现在有了
这里主要就是两点,环境变量TNS_ADMIN配置成tnsnames.ora文件所在的目录名;
PLSQL中OCI Library设置成oracle客户端的oci.dll。
以上是关于关于PLSQL登陆Oracle11G无法读取Oracle数据库问题的主要内容,如果未能解决你的问题,请参考以下文章