前言:
当我们用kettle 或者其他工具访问数据库时,有时候会报ORA-12505的错误,具体报错如下图所示,这其实是oracle 11g高版本会存在的一个小问题。具体原因是监听器目前不知道给定的SID在连接描述符。直白点就是不认识这个SID值。
一、解决方式
1、应用端JDBC连接配置
如我们在帆软report上时,我们可以这样去写我们的URL。
如上图所示我们将对应自动生成的URL里面的“:rac11g”,更改为“/rac11g”即可。
2、PL/SQL
在pl/SQ中,我们可以正常用,因此这也容易造成DBA说可以用了,但是可能在前端应用的时候不能使用。
3、kettle
在kettle 中我们应该怎么去配置呢?其实kettle端和应用端一样,我们需要将数据库名称前面增加个/,即我们写成/rac11g的形式,这样我们就能成功访问到数据库了哦~
二、总结
因为oracle的不同版本,我们的JDBC连接方法会有所差异。因为当我们遇到SID这种报错,而且DBA使用PL/SQ类似软件又能访问的时候,不妨试试在数据库名称前面增加个/来解决这个问题