因 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 database
- Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
在網上搜索了一下,才發現原來 Kettle 使用的數據庫名是“SID_NAME” 而不是 PL/SQL 的 “SERVICE_NAME”,於是使用 PL/SQL 連上數據庫:
- select INSTANCE_NAME from v$instance;
把這個名稱填到 Kettle 的 "Database Name" 中,測試一下子就 OK 了。原來如此。