首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-12154 Oracle DB Windows无法连接SQLPlus

ORA-12154 Oracle DB Windows无法连接SQLPlus
EN

Stack Overflow用户
提问于 2020-11-18 02:07:20
回答 1查看 111关注 0票数 0

我已经检查了stackoverflow中的其他答案,但都不起作用。我检查了tnsnames.ora,没有发现任何错误。这是我的tnsnames.ora文件的代码。

代码语言:javascript
复制
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-69D6TBS)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

LISTENER_XE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-69D6TBS)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

这是我的sqlnet.ora

代码语言:javascript
复制
SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

服务也在运行

EN

回答 1

Stack Overflow用户

发布于 2020-11-18 02:30:16

通常,当这个问题出现时,您没有显示用于启动sqlplus的初始命令。你应该像这样启动它,在你的用户名后面加上一个'@‘符号,然后是网络服务名,也就是tnsnames条目。

代码语言:javascript
复制
c:\sqlplus myuser@XE

但是缺少这些,一旦它开始提示你输入用户名和密码,你就需要在提示的用户名后面加上网络服务名的规范:

代码语言:javascript
复制
Enter user-name:  username@XE

但是,您得到的那个特定错误的事实有点令人费解。如果没有指定net服务名称,它应该已经尝试了BEQ连接(根本不使用tns )来连接到由%ORACLE_SID%的值标识的本地数据库。在这种情况下,它应该连接或给出一个“协议适配器错误”,它在这种特定用法中得到这个特定错误的事实将向我表明您设置了%TWO_TASK%。这将覆盖ORACLE_SID,并告诉sqlplus尝试使用%TWO_TASK%的值进行tns连接。

顺便说一句,报告的错误的性质意味着请求永远不会接近侦听器,因此侦听器配置在这一点上并不重要。ORA-12154相当于在电话簿中找不到某人的名字。如果您找不到它(它没有列出,或者您使用了错误的电话簿),那么您甚至不能发出呼叫(将请求发送给收听者)。

对于将来的参考,命令窗口的屏幕截图不如从窗口复制和粘贴文本,然后将粘贴的文本格式化为“代码”那么有帮助。如果您在这里执行了此操作,则可以向上滚动窗口,以便复制/包含您使用的sqlplus命令。

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

https://stackoverflow.com/questions/64880857

复制
相关文章

相似问题

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