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的名称