oracle本地进行连接的时候报错ORA-12560: TNS: 协议适配器错误

2024-11-07 13:07:53
推荐回答(2个)
回答1:

ORA-12505:

之前用PL/SQL DEVELOPER和SQLPLUS 登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接。

经过查找,发现Oracle的service_name 和sid_name不一致,而PL/SQL DEVELOPER和SQLPLUS 采用service_name进行连接,而应用程序是按照sid_name进行连接,所以出现PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接的问题。

解决问题很简单,原来是自己将sid_name搞错了;首先查找当前实例的sid_name:SELECT INSTANCE_NAME FROM V$INSTANCE,然后把得到的sid_name填入应用程序的连接串中。

1.知道你的SID名:可以再注册表中查找,也可以通过借助Oracle的sqlplus工具并以管理员方式连接敲命令查看:select instance_name from v$instance;必须是管理员身份,否则“视图不存在”。

2.在Oracle SQL Developer连接工具上修改你的数据库SID名。

3.勾选“保存命令”,“角色”选择数据库管理员。

4.点击“保存”和“测试”,并连接,剩下的就是连接成功了。

回答2:

1、检查监听
netstat -an|find "1521"
2、检查$ORACLE_HOME/network/admin的3个ora文件
3、listener.ora设置HOST=0.0.0.0
4、tnsnames.ora设置
5、删除sqlnet.ora
6、在
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oracle]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Oracle\Key_OraDB10g_home2]
设置ORACLE_SID