我们有一个在本地运行的应用程序,遇到以下错误:
ORA-12514: TNS:listener does not currently know of service requested
in connect descriptor
我已经测试了使用TNSPing的连接正确解决和
我试过sqlPlus尝试连接,失败与上面的相同的错误。我使用sqlPlus的这个语法:
sqlplus username/password@addressname[or host name]
我们已经验证:
>服务器上的TNS监听器正在运行。
> Oracle本身在服务器上运行。
我们不知道对这个环境所做的任何改变。
还有什么我们可以测试吗?
我有这个问题,修复是确保在tnsnames.ora的SERVICE_NAME是一个有效的服务名称在您的数据库。要找出有效的服务名称,可以在oracle中使用以下查询:
原文链接:https://www.f2er.com/oracle/208810.htmlselect value from v$parameter where name='service_names'
一旦我更新tnsnames.ora到:
TEST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = *<validhost>*)(PORT = *<validport>*)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = *<servicenamefromDB>*) ) )
然后我跑:
sqlplus user@TEST
成功!
监听器基本上告诉你,根据数据库,你使用的service_name不是有效的服务。
(*我正在运行sqlplus从Win7客户端工作站到远程DB和怪DBA)*)