部署容器数据库连接失败:TNS:listener does not currently know of SID given in connect descriptor
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor之前用PL/SQL DEVELOPER和SQLPLUS登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does notcurrently know of SID
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
之前用PL/SQL DEVELOPER和SQLPLUS
登录数据库都没有问题,就是应用程序通过JDBC连接Oracle时无法成功连接,出现ORA-12505错误listener does not
currently know of SID given in connect descriptor…。
经过查找,
发现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填入应用程序的连接串中。
说明给到的sid有误,很有可能就是服务名和sid混淆使用。
ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID
测试环境-配置数据库:,生产也按此格式配置,
//监听sid服务,表示sid为orcl
database.url=jdbc:oracle:thin:@171.xxx.96.xx:xxxx:orcl
生产启动报错,识别不到数据库监听服务名。
//监听服务名,表示服务名为orcl
database.url=jdbc:oracle:thin:@171.xxx.96.xx:xxxx/orcl
第一种是监听sid服务,第二种则是监听服务名
所以发现是自己的sid写错导致出现这个错误,把服务名当做了sid
把orcl的 “ : ” 改为 “ / ” 访问正常
更多推荐
所有评论(0)