Kettle開源ETL工具有着自己的元數據存儲方式,可以分為兩種
1:File
2:DB
文件存儲我這里就不多說了,下面說一下在用SQLserver2008 R2作為資源庫在創建的過程中遇到的問題
Kettle Version :6.0.1
Sqlserver Version:2008R2
重點來了:
1:在創建資源庫的時候會報數據類型錯誤,創建信息會有一些看上去是失敗的。But 這個時候不用擔心
是以為創建資源庫的腳本有一些問題
CREATE TABLE R_VERSION ( ID_VERSION BIGINT PRIMARY KEY , MAJOR_VERSION INT , MINOR_VERSION INT , UPGRADE_DATE DATETIME , IS_UPGRADE BIT ) ; INSERT INTO R_VERSION(ID_VERSION, MAJOR_VERSION, MINOR_VERSION, UPGRADE_DATE, IS_UPGRADE) VALUES (1,5,0,'2016/06/20 21:03:16.689','N'); CREATE TABLE R_USER ( ID_USER BIGINT PRIMARY KEY , LOGIN VARCHAR(255) , PASSWORD VARCHAR(255) , NAME VARCHAR(255) , DESCRIPTION VARCHAR(255) , ENABLED BIT ) ; INSERT INTO R_USER(ID_USER, LOGIN, PASSWORD, NAME, DESCRIPTION, ENABLED) VALUES (1,'admin','2be98afc86aa7f2e4cb79ce71da9fa6d4','Administrator','User manager','Y'); INSERT INTO R_USER(ID_USER, LOGIN, PASSWORD, NAME, DESCRIPTION, ENABLED) VALUES (2,'guest','2be98afc86aa7f2e4cb79ce77cb97bcce','Guest account','Read-only guest account','Y');
解決問題的辦法:
1:刪除原來的DB
2:在數據庫新建DB
3:修改上面SQL腳本BIT類型為Char(2),然后在創建窗口執行或者復制SQL手工執行創建資源庫腳本即可,推薦第一種,直接在SQL窗口中修改
PS:Kettle連接Oracle的話數據庫名稱是 SID的名稱哦 不是TNS中的名字或者servername的名稱