您的位置:首页 > 数据库 > Oracle

Kettle连接ORACLE失败,报错IO异常:

2016-06-30 13:38 302 查看
之前用kettle从测试环境抽数据,连接的是oracle数据库,没有任何问题。今天,经理让我从生产环境抽数,于是我把之前连接的主机名称改成生产环境的地址,换一下用户名密码,其它不变(如:数据库名称)。连接时报错如下图:



感到很纳闷,用户名和密码都是正确的,测试环境可以连,怎么换个IP就失败了。

通过检查,觉得应该是错在连接ORACLE的SID上。我觉得kettle连接ORALCE应该是通过SID而不是SERVICE_NAME。通过测试发现,测试环境的SID和SERVICE_NAME 应该是一样的,所以在连接测试库时,数据库名称那里我填SERVICE_NAME的名称,kettle通过SID一样可以连接上,因为他们是一样的。但是换成生产库,生产库的SID和SERVICE_NAME是不一样的,但连接时,数据库名称仍然用的是SERVICE_NAME的值,那么kettle就连接报错了,因为此时SID不是正确的生产库的SID。

那么解决办法就是查询生产环境的SID是什么,然后再连接就应该好了。

可是,由于我没有权限去查它的SID,只能等明天去向客户们要SID,但是此刻我就要去在服务器上部署kettle让他明天就能跑起来呀。终于在网上找到了一个方法,大家可以通过这个方法,即便不知道SID也可以连接上,亲测是有效,这应该算是kettle的一个小BUG。

kettle设计器连接oracle RAC时的连接字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Kettle oracle