kettle常见的资源库有3种:数据库资源库、文件资源库、pentaho资源库。
文件资源库是在一个文件目录下定义一个资源库,因为kettle使用的是虚拟文件系统(Apache VFS),所以这里的文件目录是一个广泛的概念,包括了zip文件、web服务、FTP服务。
pentaho资源库是一个插件(kettle企业版中有),实际是一个内容管理系统(CMS),它具备一个理想的资源库的所有特性,包括版本控制和依赖完整性检查。
数据库资源库是把所有的ETL信息保存在关系型数据库中,包括数据库连接、转换和作业。将已开发的ETL转换、作业和相关配置保存在数据库资源库中便于保存、管理以及远程调度。本篇文章主要介绍数据库资源库创建方法:
1、进入spoon,工具--资源库--连接资源库,点击加号+新建资源库
2、选择数据库资源库,点击确定
3、数据库连接选择新建,配置数据库连接信息,建议新建一个空白数据库
4、配置好数据库连接,选择创建或更新,继续选择是
5、选择执行SQL语句
6、提示执行SQL错误,选择确定,稍后在处理这个错误,对上述sql执行提示的所有错误全部选择确定
7、现在连接刚刚创建的资源库会报错,如下
8、下面进入sql server客户端(因为这里使用的是sql server数据库资源库,根据使用的资源库作调整),连接刚刚创建的资源库,执行下面的SQL语句
DELETE TABLE R_VERSION;
CREATE TABLE R_VERSION
( ID_VERSION INTEGER,
MAJOR_VERSION INTEGER,
MINOR_VERSION INTEGER,
UPGRADE_DATE DATETIME,
IS_UPGRADE CHARACTER (1)
);
INSERT INTO R_VERSION (ID_VERSION, MAJOR_VERSION, MINOR_VERSION, UPGRADE_DATE, IS_UPGRADE) VALUES (1, 5, 0, '2017-02-03', 'N');
不同数据库的sql 语句写法可能不同,目标是让上面标红的sql语句成功执行
现在连接刚刚创建的数据库资源库会发现用户名密码错误,执行下面的sql语句,添加默认用户,此时的用户名密码都是admin
INSERT INTO R_USER (ID_USER, LOGIN, PASSWORD, NAME, DESCRIPTION, ENABLED)
VALUES (1, 'admin', '2be98afc86aa7f2e4cb79ce71da9fa6d4', 'Administrator', 'User manager', '1')
现在重新连接刚刚创建的资源库,连接成功!