前言
环境说明win10 + kettle 8.2 + SQL server + Oracle
数据抽取大同小异,可以根据自己的需求换成不同的数据库
提示:以下是本篇文章正文内容,下面案例可供参考
一、kettle下载
kettle 8.2 安装地址:https://share.weiyun.com/ChSBSDMj
二、数据准备
SQL server新增语句
SQL如下(示例):
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[Student]') AND type IN ('U'))
DROP TABLE [dbo].[Student]
GO
CREATE TABLE [dbo].[Student] (
[SId] int NULL,
[Sname] varchar(10) COLLATE Chinese_PRC_CI_AS NULL,
[sage] int NULL,
[sbirthday] varchar(20) NULL
)
GO
ALTER TABLE [dbo].[Student] SET (LOCK_ESCALATION = TABLE)
GO
-- ----------------------------
-- Records of Student
-- ----------------------------
INSERT INTO [dbo].[Student] VALUES (N'1', N'赵雷', N'23', N'1999-07-13')
GO
INSERT INTO [dbo].[Student] VALUES (N'2', N'钱电', N'22', N'2000-05-04')
GO
INSERT INTO [dbo].[Student] VALUES (N'3', N'孙风', N'21', N'2001-04-10')
GO
INSERT INTO [dbo].[Student] VALUES (N'4', N'李云', N'22', N'2000-06-22')
GO
INSERT INTO [dbo].[Student] VALUES (N'5', N'周梅', N'20', N'2002-04-26')
GO
INSERT INTO [dbo].[Student] VALUES (N'6', N'吴兰', N'24', N'1998-03-06')
GO
INSERT INTO [dbo].[Student] VALUES (N'7', N'郑竹', N'22', N'2000-11-14')
GO
INSERT INTO [dbo].[Student] VALUES (N'9', N'张三', N'24', N'1998-10-08')
GO
INSERT INTO [dbo].[Student] VALUES (N'10', N'李四', N'22', N'2000-07-22')
GO
INSERT INTO [dbo].[Student] VALUES (N'11', N'李四', N'21', N'2001-05-29')
GO
INSERT INTO [dbo].[Student] VALUES (N'12', N'赵六', N'23', N'1999-06-02')
GO
INSERT INTO [dbo].[Student] VALUES (N'13', N'孙七', N'21', N'2001-08-25')
三、数据抽取
1、新建一个转换程序
2、在左边核心对象栏找到输入中表输入控件,拖动到工作空间
3、工作空间中右击刚刚创建的表输入控件,编辑步骤
4、新建一个数据库连接,连接类型选择SQL server,填写好相关信息,然后测试一下是否能够正常连接,若连接失败,可能存在缺少数据库连接所需要的jar包,把缺少的jar包放到kettle根目录下的kettel\data-integration\lib即可
5、写好相关的SQL语句然后点击预览数据,看数据是否能够预览成功,预览的数据即是传输的数据
6、一样的步骤,在左边的核心对象栏找到表输出拖动到右边的工作空间,再按住shift+鼠标左键从表输入拖动至表输出,即可建立他们之间的关系
7、右击表输出控件,编辑步骤
8、新建一个Oracle的连接,测试是否可以正常连接通过即可
9、选择一下目标表,浏览然后找到接收数据的表
10、勾选指定数据库字段,获取一下字段这里可以对应一下表字段和流字段
表字段指的是当前表中的字段
流字段指的是表输入过程中所输出的字段
11、以上步骤都完成后,点击菜单栏上的三角形执行启动即可,过程中保存需要保存一下ktr文件
12、执行结果可以看日志,然后我们打开Oracle验证数据是否传输过来
可以看到在Oracle中数据已经可以查询到了
总结
提示:这里对文章进行总结:
以上就是kettle的一个简单案例,从SQL server中抽取数据到Oracle中,非常简单,大家还可以在其中增加一些步骤来练习各种kettle的各种控件