一、环境
Oracle当前版本:Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Oracle安装路径:D:\oraclexe\
PLSQL Developer版本:PLSQL Developer 11.0.3.1700,32bit
二、目标
通过PLSQL Developer连接上Oracle
三、步骤
1. 安装PLSQL Developer
当安装路径为:C:\Program Files(x86)\PLSQL Developer时,出现警告。如下图所示:
根据上图,警告安装路径不可以出现括号,即"("与")",那么修改安装路径为:C:\Program Files\PLSQL Developer,之后一直next,完成安装。
2. 通过PLSQL Developer登录Oracle
打开PLSQL Developer,出现如下图所示的登录对话框:
输入Username, Password, Database,我们当前这三个值依次为:sys, admin, xe
点击[ok]登录数据库。
但是出现如下错误:
或者 make sure you have the 32 bits oracle client installed
通过google得知,这是因为32位的PLSQL Developer无法连接64位的Oracle,咋办呢?
到oracle官网上下载支持32位PLSQL Developer登录64位Oracle数据库的oci.dll包,下载地址如下:
http://www.oracle.com/technetwork/topics/winsoft-085727.html
这里我们选择的版本是:instantclient-basic-nt-11.2.0.2.0.zip (50,325,016 bytes)
下载完毕后,解压到硬盘某处,当前我解压到:D:\oraclexe,解压完得到如下目录结构:
先不登录,打开PLSQL Developer,进入Tools-->Preferences-->Connection-->OCI library(empty is autodetect),在输入框中填入:D:\oraclexe\instantclient_11_2\oci.dll,生效退出。
添加windows系统变量,变量名: TNS_ADMIN,变量值: D:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN
至此该问题解决,注意如果你安装的oracle是32位的,是不会出现这个错误的。
再次尝试通过PLSQL Developer登录oracle数据库,出现如下错误:
这个错误是说数据库连接实例不对,但是实例名称XE对的,为啥呢?问题出在监听器配置文件tnsnames.ora上。
修改之前的文件内容如下图所示:
咦?有关于XE实例的配置呀,为啥还出错呢?
原来我们这里HOST = mthrone,其中mthrone是当前pc机的名称,这里需要修改为:HOST = localhost。
修改完监听器配置文件之后,我们又一次通过PLSQL Developer登录oracle数据库,发现成功了。
特别注意:当修改了数据库的tnsnames.ora文件后,建议重启oracle数据库相关的服务。