如题,sqlplus用scott用户登录时报错。
我的机器是win7 64位。
oracle 11g。
现只有一台机子,我知道oracle大部分情况是只需装服务器就可以用了。
但是现在想用plsql,而plsql貌似必须用32位的oracle客户端来连接服务端。
所以发生了现在情况,
先装oracle服务端,使用服务端的sqlplus可以正常登录
同一台机器上再装了oracle客户端后,使用客户端的sqlplus(此时有两个sqlplus,一个是服务器的,一个是客户端的)没法用户登录。
更别提plsql了。
错误如下:
请输入用户名: scott
输入口令:
ERROR:
ORA-12560: TNS: 协议适配器错误
网上找过一些协议适配器错误的结局方法,如重启服务,修改注册表都没用。
把几个配置文件也贴上来吧。
服务器:
tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
客户端:
tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
帮帮忙,如果需要其他的诊断信息,会后续提供。
郁闷了,不知道是我哪个方面理解有误区还是怎样,请指点。
------解决方案--------------------
因为你装了多个版本的原因。环境变量要指定正确的
你可以在网上搜索 32位 pl/sql 连接64位 oracle
我给你贴下我以前找的。
我是用32位的oracle10g的客户端,安装完以后一直出现tns错误.这搞那搞方法试了一大堆...
直到最后找到原因,原来64位装32位软件默认装在Program Files (x86)里,
oracle无法解析Program Files (x86)里的圆括号.....把他换一个文件夹安装就正常了,我靠就是这么简单
还有有安装64位的oralce数据库,用pl/sql登陆会出现oci.dll的错误,
解决办法也是装32位的客户端,然后在PLSQL Developer选择Tools > Preferences > options > "Oracle Home" and "OCI Library",例如:
Oracle10g装在D:\oracle\
则:Oracle Home为OraClient10g_home2
OCI Library为F:\Oracle\product\10.1.0\Client_1\bin\oci.dll
----------------------------------------------
PL/SQL Developer在64位windows上的使用2008-11-11 10:29
环境:
PL/SQL Developer版本:7.0.0.1050
OS:windows 2003 SP2 64位
Oracle DB:10.2.0.4 64位
Oracle client 10.2.0.1 32位
在64位的windows上安装的64位的Oracle无法用PL/SQL Developer访问,登录时找不到数据库实例,解决办法如下:
1.安装64位oracle DB。
2.安装32位Oracle Client。
3.安装PL/SQL Developer。
4.PL/SQL Developer中设置OracleHome:OraClient109_home1
OCI library:OraClient109_home1\bin\oci.dll
5.OK
64位win7下PL/SQL Developer 报"ORA-12154: TNS:无法解析指定的连接标识符"问题的一个解决办法
接着上次的话题,在64位win7上装了32位oracle10g 以后又出现了新的问题: