安装64位的Oracle软件
安装Oracle InstantClient保证PLSQL Developer能够登录
OperationSystem : Win7 x64
OracleSoftware : Oracle 11.0.2.0.1 x64
(server&client)
ORACLE_BASE : D:\app\zhouwl
ORACLE_HOME : D:\app\zhouwl\product\11.2.0\dbhome_1
ORACLE_SID : oradb1
PLSQL Developer : Version10.0.2.1697 copyright:
1997-2013
PLSQL
PATH : D:\Program Files (x86)\PLSQL Developer
问题:
配置,或者初次安装plsql developer时,报告说无法加载oci.dll文件,
配置位置: tools-preferences-connection
oracle_home(empty
is autodetect):
oci_library(empty
is autodetect):
这两个文本框,无法输入正确的值
原因:
因为安装的oracle是64位,所以,其下的动态链接库文件oci.dll也是64位组件
plsql developer是32位应用程序,虽然能在x86或x64位环境下运行.
但由于运算方式不同,plsql developer本身作为32位应用程序,无法加载64位组件.
解决办法:
1. 下载32位Oracle InstantClient,并展开到某目录,
(1)到www.oracle.com
(2)选择[Downloads]导航,进入下载页面
(3)然后在搜索框中输入instantclient for windows,点击search
(4)在底下的查询结果中,找到instantclient downloads for windows链接,
然后点击进去,注意别选成日文的了,选英文的.
进去后是英文的就对了.
(5)然后一定要点击单选按钮
"Accept License Agreement",如果没点就直接点链接下载,点
击浏览器回退,重新选择该单选按钮.
(6)点击完后,就单击下面链接,instantclient-basic-nt-11.2.0.3.0.zip,
我这个版本是当前版本,以后可能会有新版本的链接.
(7)如果叫注册,或者输入otn帐号,你别管,可能等下就出来了下载框,或者重复第5第6步,就可以下载.
就是说,下载这个东西本身是不用注册的,叫注册推测是甲骨文的推销战略.
当然有帐号当然更好.推荐使用firefox opera 360 谷歌之类的浏览器,
自带的下载工具看着比较清楚,IE也行.
(8)如果百度有下载当然更好.
2. 下载好后,解压放置到
D:\app\username\product\目录下,这个username因电脑用户名而异,你的用户是什么就是什么.
D:\app\zhouwl\product\instantclient_11203;
3.
将64位oracle的tnsnames.ora拷贝到该目录下(D:\app\zhouwl\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsname.ora);
可以在D:\app\zhouwl\product\instantclient_11203下建两个目录
先建network,然后再在里面新建admin,tnsnames.ora放里面.保留oracle客户端的使用习惯.
如下所示
D:\app\zhouwl\product\instantclient_11203\network\admin\tnsnames.ora
4. PLSQL中的OCI还有oracle_home配置让他空着,有也先清空然后点击apply.
因为空着表示自动检测(empty is
autodetect)
配置位置:
[tools]-[preferences]-[connection]
oracle_home(empty is autodetect):
oci_library(empty is autodetect):
5. 在PLSQL Developer安装目录D:\Program Files (x86)\PLSQL
Developer下编辑如下plsqldev.bat文件,
里面其实就是设置环境变量,在加启动,内容如下:
@echo off
set path=D:\app\zhouwl\product\instantclient_11203
set ORACLE_HOME=D:\app\zhouwl\product\instantclient_11203
set TNS_ADMIN=D:\app\zhouwl\product\instantclient_11203
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start plsqldev.exe
注:
NLS_LANG前半部分必须是AMERICAN_AMERICA,
因为instant client不支持其他语言;
而后半部分可以根据你数据库的字符集调整,
如果数据库采用AL32UTF8,则可以设置AL32UTF8.
6.plsqldev.bat发送到桌面,每次启动就可以点击这个,启动plsqldev.exe
也可以放到C:\windows\system目录下然后运行或cmd启动,但是bat脚本里的plsqldev.exe就必须写全路径.
7.原64位SQLPLUS命令行可以用来做测试是否tnsping的通对方实例.
如,先配置64位客户端tnsnames.ora,然后tnsping,看是否ping通,或者conn 链接看是否连的通.
如果连的通,把那段配置,给复制到32位instantclient\network\admin目录下的tnsname.ora里面
方法多样,自行选择.