64位Oracle 11g 使用PL/SQL

时间:2023-03-08 15:52:02

Oracle 11g和PL/SQL安装完后,发现打开PL/SQL并不能连接Oracle数据库!

【第一回合】完败!

先是在网上找解决方法,说是需要使用Net Configuration Assistant或Net Manage配置监听程序和本地网络服务名。

然后就依方法各种改各种配置,又是写主机名又是查局域网IP或127.0.0.1的保留IP,经过半天折腾!结果证明该方法并不能让PL/SQL连接Oracle

【第二回合】又完败!

然后查到说是需要直接配置文件,改listener.ora、sqlnet.ora、tnsnames.ora

于是又折腾一番,测试各种Host和Hostname,改各种IP。结果,登录PL/SQL时提示“ORA-12541:TNS:无监听程序”!然 后就在网上查找该监听错误的解决方法,又是Dos命令又是改文件。这个提示解决了,又出现提示“ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”,又是一番查找尝试,最终耗费了半天的时间,证明该方法也不能让PL/SQL连接Oracle

【第三回合】再次被虐!

被虐的遍体鳞伤,突然在网上看到说PL/SQL都是32位的,而64位Oracle并不能兼容32位的PL/SQL!顿时我像发现新大陆一样鸡血沸 腾!装“instantclient-basic-win32-10.2.0.3”,建listener.ora和tnsnames.ora,修改系统环 境变量,改Path、建TNS_ADMIN变量、建NLS_LANG变量,修改PL/SQL的Oracle连接目录,写bat文件,改来改去,还是完败 了……悲惨……

【第四回合】还是虐!

想到我还有个32位win7系统的老电脑,搞出来又是2G的文件下载,下载完安装时发现悲剧了,物理内存不足,无法安装!Your sister!1G内存就这么遭鄙视吗?

不能放弃,于是我想能不能在64位win7上装32位Oracle,结果一查,发现各种不成功,颓废啊,我放弃了,电脑上的Oracle和PL/SQL卸载了……不会卸载?看我之前分享的卸载经验,有比这个更爽的么?

【第五回合】K.O!成!功!了!

至此,PL/SQL连接Oracle的问题已经困扰了我一天半了,心灰意冷、万念俱焚。不甘心啊!肯定不只我一个遇到64位win7跑Oracle用PL/SQL的,为什么别人能成功我不行?

重装一次!

想起来用xp系统装时,一点儿问题都没遇到,怎么到win7就出这么多破事。莫非是安装顺序有问题,先装了PL/SQL后装Oracle,导致程序无法识别?应该不是,那到底哪出问题了?本着与之前的安装做实验对比组的想法,安装过程记录如下:

1、  下载64位Oracle,解压两文件,解压完成后将文件合并,安装;

2、  下载PL/SQL,安装;

3、  下载instantclient-basic-win32-11.2.0.1.0.zip,解压后剪切instantclient_11_2文件夹,粘贴到Oracle安装目录中product文件夹下;

4、  从Oracle安装目录下拷出NETWORK文件夹(如H:\Oracle\product\11.2.0\dbhome_1),并粘贴到instantclient_11_2文件夹内;

5、  不登录打开PL/SQL,在工具-首选项-连接(Tool>preferences>connection)中修改Oracle主目录名(如 H:\Oracle\product\instantclient_11_2,这个是instantclient_11_2文件夹的路径),修改OCI库 (如H:\Oracle\product\instantclient_11_2\oci.dll);

6、  关闭PL/SQL,重新打开,发现识别出了几个数据库,使用Scott登录一下,连接成功!两天被虐的痛苦顿时消失,爽!

【总结】

最开始不成功是不知道64位Oracle不能使用32位的PL/SQL,后来仅将listener.ora和tnsnames.ora文件复制到了 instantclient_11_2目录里,可能仅这两个文件是不够了,最后将整个NETWORK文件夹复制进来就,成!功!了!有图有真相!

64位Oracle 11g 使用PL/SQL