Kettle资源库采用SQLserver数据库需要注意的点

Posted King

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kettle资源库采用SQLserver数据库需要注意的点相关的知识,希望对你有一定的参考价值。

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

 

以上是关于Kettle资源库采用SQLserver数据库需要注意的点的主要内容,如果未能解决你的问题,请参考以下文章

有没有支持sqlserver的kettle web版本

kettle怎样连接数据库连接

Kettle transformation 操作内容快速查询

采用Kettle分页处理大数据量抽取任务

kettle 怎么将mysql中数据导入sqlserver

Kettle批量同步多张表数据