我已经检查了stackoverflow中的其他答案,但都不起作用。我检查了tnsnames.ora,没有发现任何错误。这是我的tnsnames.ora文件的代码。
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
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)服务也在运行



发布于 2020-11-18 02:30:16
通常,当这个问题出现时,您没有显示用于启动sqlplus的初始命令。你应该像这样启动它,在你的用户名后面加上一个'@‘符号,然后是网络服务名,也就是tnsnames条目。
c:\sqlplus myuser@XE但是缺少这些,一旦它开始提示你输入用户名和密码,你就需要在提示的用户名后面加上网络服务名的规范:
Enter user-name: username@XE但是,您得到的那个特定错误的事实有点令人费解。如果没有指定net服务名称,它应该已经尝试了BEQ连接(根本不使用tns )来连接到由%ORACLE_SID%的值标识的本地数据库。在这种情况下,它应该连接或给出一个“协议适配器错误”,它在这种特定用法中得到这个特定错误的事实将向我表明您设置了%TWO_TASK%。这将覆盖ORACLE_SID,并告诉sqlplus尝试使用%TWO_TASK%的值进行tns连接。
顺便说一句,报告的错误的性质意味着请求永远不会接近侦听器,因此侦听器配置在这一点上并不重要。ORA-12154相当于在电话簿中找不到某人的名字。如果您找不到它(它没有列出,或者您使用了错误的电话簿),那么您甚至不能发出呼叫(将请求发送给收听者)。
对于将来的参考,命令窗口的屏幕截图不如从窗口复制和粘贴文本,然后将粘贴的文本格式化为“代码”那么有帮助。如果您在这里执行了此操作,则可以向上滚动窗口,以便复制/包含您使用的sqlplus命令。
https://stackoverflow.com/questions/64880857
复制相似问题