部署项目报错:oracle 11g ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

由于数据是读取的对方视图,由于甲方保密性要求,无法修改网上说的listener.ora文件。经查阅将原来的 url=jdbc:oracle:thin:@10.22.1.96:1250:ssdb

url改为

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.22.1.96)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ssdb)))

或者

jdbc:oracle:thin:username/password@//10.22.1.96:1521/实例名

亲测可成功。

这里要注意oracle SID和服务名选择的区别:

报错中说找不到SID是因为甲方提供的视图是以服务名进行登陆的,而配置文件是SID登录的。

SID是对内的,是实例的一个名字,用来内部之间称呼用。服务名是对外的,是数据库级别的一个名字,用来告诉外面人,数据库叫什么。

猜你喜欢

转载自blog.csdn.net/weixin_40703303/article/details/86469549