之前都是用的安装版的PL/SQL链接本地数据库的时候一直很正常,没出过错。这次用了免安装的版本,连接远程的时候也没问题,连接本地就出错了。
其实连接出错,果然是配置文件tnsnames.ora的问题。
1、按之前正常的配置流程走一遍。可以参考我的百度经验(此篇经验的PL/SQL是安装版的)
http://jingyan.baidu.com/article/215817f78ae8c41eda1423ea.html
2、以上的配置,只需要在连接文件夹instantclient-basic-nt-12.1.0.2.0中配置tnsnames.ora就可以了。
3、但是这个绿色免安装的PL/SQL文件夹里,也有一个instantclient_11_2文件夹,这里面也有配置文件需要配置。
我刚开始只在里面配置了远程数据库,后来安装了本地的数据库以后,没有修改这里的配置文件。
在这个文件下的配置文件里加上本地的数据库连接就可以了!
P.S.我发现可以不用在首选项中配置从ORACLE官网上下的连接文件,直接在首选项中配置PL/SQL文件下的instantclient_11_2一样可以实现连接。
4、我如何发现的这个问题存在
PL/SQL读取配置有一个滞后的过程,我修改了很多遍配置之后,读取的连接依旧是我最开始配置的连接,所以没有发现问题。
我把数据库重新安装,连接文件夹
nstantclient-basic-nt-12.1.0.2.0 重新下载
然后修改PL/SQL首选项里的配置,之后重启电脑。
再次登录以后发现PL/SQL里的连接只有我最开始配置的远程数据库,在首选项里配置的本地连接没有显示。
至此发现问题。
在PL/SQL文件夹下的instantclient_11_2里的配置文件里修改配置文件,把本地数据库连接加上就行!
搞了我好几个小时。。。。。
5、用PL/SQL连接本地数据库的时候报无监听程序
今天又遇到的新问题。。也是心累
我把本地的host名想改为localhost报错了,再改回去就出现了这个问题。
【转载】http://www.educity.cn/shujuku/625831.html
运行->cmd启动dos窗口,执行lsnrctl stop关闭,lsnrctl start启动。重新登录就可以了!