连接Oracle报错:listener does not currently know of service requested in connect descriptor


解决办法:修改环境变量的配置

原来环境变量TNS_ADMIN如下:即配置的是客户端instantclient的

 现在该为Oracle服务器的,

D:\app\miracle\product\11.2.0\dbhome_2\NETWORK\ADMIN

 再来模拟一下问题:

条件:

1、环境变量中TNS_ADMIN为客户端instantclient的,即D:\install\instantclient\instantclient_19_12\NETWORK\ADMIN

2、D:\install\instantclient\instantclient_19_12\NETWORK\ADMIN目录下的tnsnames.ora文件内容如下:

ORCL1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

当我们修改ORCL1为ORCL时,

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

此时,用PLSQL访问Oracle数据库,

 

 此时会报错:

 

 解决办法:将环境变量的TNS_ADMIN的变量值改为Oracle服务的,即D:\app\miracle\product\11.2.0\dbhome_2\NETWORK\ADMIN,

 

 再重启如下四个Oracle服务:

 

 再次用PLSQL访问Oracle数据库,此时就可以登录了。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM