TNS:Protocol 适配器错误

TNS:Protocol Adapter Error

我正在尝试从装有 Oracle 11.2.0.4 32 位客户端的 Win 7 和 Win 8.1 计算机连接到 Oracle 11.2.0.2 64 位数据库。我可以在两台机器上成功地 ping 服务器和 TNSPing 侦听器。但是当我尝试使用系统和我的密码登录 SQLPLus 时,我收到 ORA-12560 TNS:Protocol 适配器错误。我可以登录到服务器上的 SQLPlus。有任何想法吗?数据库和侦听器都已重新启动。 ORACLE_SID 已设置。我卡住了...

如果我按照您所看到的进行操作,听起来您只想将 Windows 框上的 the LOCAL enviroment variable 设置为 TNS 别名;那么您不必在尝试连接时提供它。

这是12c即时客户端,11g客户端效果一样。指定别名作为连接字符串有效(ORA-01017 仍然来自数据库):

c:\Program Files\instantclient_12_1>sqlplus -l x/y@abcd

SQL*Plus: Release 12.1.0.2.0 Production on Mon Feb 23 17:12:34 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

不使用别名连接会得到您的 ORA-12560:

c:\Program Files\instantclient_12_1>sqlplus -l x/y

SQL*Plus: Release 12.1.0.2.0 Production on Mon Feb 23 17:11:58 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

ERROR:
ORA-12560: TNS:protocol adapter error

但是如果我设置 LOCAL 那么我可以像指定别名一样连接:

c:\Program Files\instantclient_12_1>set LOCAL=abcd

c:\Program Files\instantclient_12_1>sqlplus -l x/y

SQL*Plus: Release 12.1.0.2.0 Production on Mon Feb 23 17:14:23 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

您不需要设置 ORACLE_SID,因为它仅用于客户端和服务器位于同一个盒子上的遗留连接。