正常连接数据库是同过网络配置文件TNSNAMES.ORA找到服务器的位置和数据库,并由服务器的监听器来解析服务名连接到数据库实例。如果你的机器中安装了数据库又安装了客户端或者其他Oracle产品,在不同文件夹中有可能出现多个TNSNAMES.ORA,TNSNAMES.内容不一定相同。这时PL/SQL寻找最近的TNSNAMES.ORA来连接数据库,若TNSNAMES.ORA不是原来的,并且其内容没有重新设置过,那有可能出现无法识别连接描述符的错误。
解决方法两种:
1、找到所有的TNSNAMES.ORA进行正确配置。
2、在环境变量中PATH的路径顺序调整一下,把正确的TNSNAMES.ORA所在的路径放在前面。
嗯 是有这样的问题的。。。可以删除监听 然后重新创建