当前位置: 首页 > 知识库问答 >
问题:

ORA-12514 TNS:侦听器当前不知道连接描述符中请求的服务

宋宏儒
2023-03-14

我们在本地运行的应用程序遇到以下错误:

ORA-12514:TNS:侦听器当前不知道连接描述符中请求的服务

我使用TNSPING测试了连接,该连接正确解析,并尝试SQLPlus尝试连接,但失败,错误与上面相同。对于SQLPlus,我使用了以下语法:

sqlplus username/password@addressname[or host name]
    null

我们不知道对这种环境进行了任何改变。我们还能测试什么吗?

共有1个答案

斜高翰
2023-03-14

我遇到了这个问题,解决办法是确保tnsnames.ora中的service_name是数据库中有效的服务名称。若要找出有效的服务名称,可以在Oracle中使用以下查询:

select 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都不是有效的服务。

(*我正在从Win7客户端工作站向远程数据库运行sqlplus,并责怪DBA;)*)

 类似资料: