问题说明:
本人在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数据库的服务名,如下图: