由于数据是读取的对方视图,由于甲方保密性要求,无法修改网上说的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是对内的,是实例的一个名字,用来内部之间称呼用。服务名是对外的,是数据库级别的一个名字,用来告诉外面人,数据库叫什么。