ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

本文解决了一个在部署程序时遇到的ORA-12505错误,该错误发生在使用web服务器启动时。文章详细介绍了如何通过正确设置数据库连接字符串中的SID名称来解决此问题。

问题描述:已经开发完成的程序部署到正式环境的时候启动web服务器出现了如下错误:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor。

连接的oracle是一个部署在两台liunx上的oracle组成的oracle集群

通过pl/sql developer连接数据库,可以正常连接。但是程序中使用相同的连接符则会出现上面描述的错误。

在网上搜了很久尝试了很多方法都没有成功。最终在一个帖子中看到了解决方法,尝试后解决了这个问题。

内容:jdbc连接数据库的时候,需要使用数据库的sid_name,而不是数据库的services_name.而使用plsql连接数据库的时候,只需要数据库的services_name即可,所以修改连接字符串中的services_name 为sid_name.
查询sid_name的方法
select INSTANCE_NAME from v$instance;

 

解决方法:在pl/sql developer中的连接符使用的实例名是orcl,但是通过select INSTANCE_NAME from v$instance;语句查询出的是orcl1,在程序中将原来的连接符中的orcl改成orcl1后问题解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值