【JDBC】TNS:listener does not currently know of SID given in connect descriptor
报错内容:
e.getMessage()=== Listener refused the connection with the following error: ORA-12505,
TNS:listener does not currently know of SID given in connect descriptor
//ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID
更换数据源时,出现了以上错误。
说明给到的sid有误,很有可能就是服务名和sid混淆使用。
在网上搜到了以下三种JDBC写法:
格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name>
格式二:jdbc:oracle:thin:@<host>:<port>:<SID>
格式三:jdbc:oracle:thin:@<TNSName>
第一种是监听服务名,第二种是监听sid服务
原始数据源使用的是sid的写法,因此替换时把服务名当做了sid,但新数据源给的是service_name,所以发生了上述错误
解决方案:
按照格式一的方式,修改jdbc的写法后,可以正常访问。
本文作者:IIIID
本文链接:https://www.cnblogs.com/Oxyy/p/15819628.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步