0
当我登录到sqlplus时,使用命令提示符获取协议适配器错误。在命令提示符中使用sqlplus时TNS协议适配器错误
但是,如果我使用oracle的SQLPlus登录,那么它将成功登录。
由于这个问题,即使我无法访问TOAD。
任何人都可以帮助我解决问题。 LISTENER.ORA和TNSNAMES.ORA
的复制文本
LISTENER.ORA
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\ProgramFiles\oracle12c\app\oracle\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\ProgramFiles\oracle12c\app\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXXXX-pc)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
TNSNAMES.ORA
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
您的目标数据库'ORCL'没有在您的tnsnames.ora中定义,这让我想知道您是否安装了多个Oracle客户端。 Windows开始菜单中的SQL * Plus是指定完整路径的快捷方式,可能是差异(路径决定使用哪个客户端)。无论如何,在命令行上,您需要'set local = orcl'或者'sqlplus yourusername @ orcl'。 –
亲爱的威廉,谢谢你的帮助...更新了LISTENER.ORA,你也可以查看上面的附件截图。我只使用一个客户端....如果您检查屏幕显示,它在SQLPlus窗口中正常工作,但不能在“命令提示符”中工作...最近我的操作系统Windows 8已自动更新.. – user3800322
您的tnsnames。 ora仍然没有在屏幕截图中定义用于'oracle_sid'的'orcl'。但我的主要建议是设置'local'而不是'oracle_sid'。因为它似乎已经在工作了,所以我会让听众独自一人。 –