TNS:协议适配器错误

时间:2015-02-23 16:28:14

标签: oracle windows-7 oracle11g windows-8.1

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

1 个答案:

答案 0 :(得分:1)

如果我正在关注你所看到的内容,听起来你只想将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,因为它仅用于客户端和服务器位于同一个盒子上的遗留连接。