问题说明:
本人在PC机上安装了Oracle 11g R2版本的数据库服务,通过PL/SQL连接数据库时总是无法连接,下面具体说明下安装环境。
PC操作系统: Window7 (64bit)
Oracle服务器版本:Oracle 11g R2 ((安装目录:D:\oracle\)(64bit)
PL/SQL版本:PL SQL 10.0
在配置好oracle的tnsnames.ora文件(D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\),内容如下:
# tnsnames.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DAVID =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = david)
)
)
并在Tools-->Preferences窗口中配置Oracle Home和Oracle library,如下图所示:
在PL/SQL的登陆界面却无法检测到oracle服务名DAVID,如下图:
在“Enter”键后,会弹出如下错误提示框,如下图:
问题分析
因为PLSQL没有64位版,通过32bit的PLSQL连接64位的Oracle时就会报错,需要一个32位的oracle客户端工具instantclient进行转换。
问题解决
1、下载oracle客户端
下载instantclient-basic-win32-10.2.0.5.zip ,下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html
2、安装instantclient
解压安装包instantclient-basic-win32-10.2.0.5.zip,解压目录:D:\Program Files\destination files\oracleclient
然后建立一个目录D:\Program Files\destination files\oracleclient\NETWORK\ADMIN
3、复制tnsnames.ora
将D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的tnsnames.ora文件复制到D:\Program Files\destination files\oracleclient\NETWORK\ADMIN下
4、配置PLSQL
打开 Tools-->Preferences窗口中配置Oracle Home和Oracle library,如下图:
Oracle Home:D:\Program Files\destination files\oracleclient
Oracle library:D:\Program Files\destination files\oracleclient\oci.dll
5、重启PLSQL
重启PLSQL,在Oracle登陆界面上将出现DAVID数据库的服务名,如下图:
相关阅读:
Oracle 10g 安装后重启系统,用PLSQL连接报没有监听 http://www.linuxidc.com/Linux/2013-03/81937.htm
ORA-03114 PLSQL过程编译断开连接错误 http://www.linuxidc.com/Linux/2013-03/81822.htm
PLSQL 连接 Oracle简单配置 http://www.linuxidc.com/Linux/2013-01/77849.htm
PLSQL批量Forall操作性能提升详解 http://www.linuxidc.com/Linux/2012-12/76997.htm
使用Oracle SQLDeveloper连接数据库并创建用户 http://www.linuxidc.com/Linux/2013-01/78477.htm
Oracle自带的PL/SQL Developer导入导出数据 http://www.linuxidc.com/Linux/2013-01/77885.htm
在64位Win7系统下安装Oracle 11g和Oracle SQL Developer客户端 http://www.linuxidc.com/Linux/2012-11/74809.htm