Kettle 连接失败 Oracle 数据库报 ora-12505 的解决方法

来源:互联网 发布:美工招聘 编辑:程序博客网 时间:2024/06/10 05:20

因 Informatica 的 bug,转而使用 Kettle。


今天第一次使用,找了一下才知道 Kettle 的主程序启动方式:运行 data-integration\Spoon.bat。

启动之后,发现配置数据库的时候连接不上数据库,总是报错。于是检查驱动,首先发现 Kettle 默认不带 Oracle 驱动。于是我把 Oracle 的 JDBC 驱动 ojdbc5.jar/ojdbc6.jar 放到了 Kettle 的目录data-integration\libext\JDBC 下,又用 PL/SQL 账号登录了一下数据库,确定账号没问题。重新启动 Kettle 配置还是报错。

org.pentaho.di.core.exception.KettleDatabaseException: Error occured while trying to connect to the databaseError connecting to database: (using class oracle.jdbc.driver.OracleDriver)


在网上搜索了一下,才发现原来 Kettle 使用的数据库名是“SID_NAME” 而不是 PL/SQL 的 “SERVICE_NAME”,于是使用 PL/SQL 连上数据库:

select INSTANCE_NAME from v$instance;


发现这个名称和我所写的  “SERVICE_NAME” 仅仅只是大小写之分。


把这个名称填到 Kettle 的 "Database Name" 中,测试一下子就 OK 了。原来如此。