首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我得到ORA-12514与容易连接,但不是与TNS?

为什么我得到ORA-12514与容易连接,但不是与TNS?
EN

Stack Overflow用户
提问于 2014-09-26 10:07:09
回答 1查看 692关注 0票数 0

我可以使用TNS样式的连接描述符成功地连接到数据库:

代码语言:javascript
复制
connect <user>/<pass>@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=<host>)(Port=<port>))(CONNECT_DATA=(SID=<sid>)));

但当我试图像这样联系时:

代码语言:javascript
复制
connect <user>/<pass>@<host>:<port>/<sid>;

我得到了ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

为什么第一个命令起作用,而第二个命令不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-26 11:19:19

SID和服务名称不是一回事。在您的工作版本中,您明确表示您正在使用CONNECT_DATA部件中的SID。

当您使用容易连接语法

连接username@//host:port/service_name]/instance_name]输入密码:密码

..。您不是在提供SID;您实际上是在:

代码语言:javascript
复制
connect <user>/<pass>@<host>:<port>/<service_name>

服务名称和SID可能是相同的,但由于您收到了该错误,在您的情况下,它们似乎不一样。如果您能够访问服务器,您可能可以运行lsnrctl services来查看哪些服务名称被识别。或者,如果您可以以用户身份以足够的权限进行连接,则可以查询:

代码语言:javascript
复制
select value from v$parameter where name = 'service_names';

任何一种方法都可以报告多个服务名称,您可能可以使用任何方法。您可能有一个类似于<SID>.<domain>的,这可能是一个明显的选择。如果有疑问,尽管问你DBA,你应该使用哪一个。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26057058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档