用Kettle从excel中将导入oracle数据库的简单方法

前言:
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。本次介绍的是其中的一款产品“Spoon”,Spoon允许你通过图形界面来设计数据转换过程。

Kattle- Spoon下载地址(绿色硬盘版解压即用):

https://pan.baidu.com/s/1hrIxGd2

JDK1.8版本下载地址(注:Kattle仅支持1.8以上JDK):

https://pan.baidu.com/s/1kUIr6cv

WINDOWS环境变量配置:

http://jingyan.baidu.com/arti...

为什么我们要使用Kettle?
我们在日常工作中,经常会遇到一种场景,那就是需要将一些数据批量的Insert到数据库表中,这篇文档就是基于这个操作来写的,我们不用Kettle的话,面对这种批量插入的操作,有这么几种方法:

  • 批量编写insert语句

  • 直接for update,从excel里面复制粘贴到plsql中

第二种方法大家肯定常用的,但是这种操作,少量的数据(2000条以内)效率还可以,一旦成千上万,甚至10w+级别的数据,指望for update有很好的表现,基本上是不可能的,基本上都会等个30分钟以上,如果DB赶上忙时,这个操作时间就更慢了。并且for update的操作,从Oracle的角度讲,相当于打开了一个事务,长时间的不关闭保持对表操作,很容易因为长事务引起锁表,我们今天介绍的Kettle,能达到什么效果呢?那就是一次性对一张表导入10w条数据,只需要短短的25s,学会灵活使用Kettle,就能让你的效率得到不一样的提升。

使用方法:

  • 打开Kattle文件夹下Spoon.bat
    图片描述

  • 点击文件-新建-转换,新建一个转换作业
    图片描述

  • 页面左侧选择输入源(如EXCEL输入),用鼠标点击拖动到右侧转换区
    图片描述

  • 页面左侧选择输出源(如表输处),用鼠标点击拖动到右侧转换区
    图片描述

  • 点击‘表输出’图标,选择输入方向,将两个图标连接起来
    图片描述

图片描述

  • 双击‘EXCEL输入’,配置EXCEL输入方式
    图片描述

  • 在表格类型处选择EXCEL格式
    图片描述

  • 点击【浏览】选择EXCEL文件
    图片描述

  • 选择好文件后,点击【增加】,该文件即出现在选中的文件中
    图片描述

  • 切换到‘工作表’页面,点击【获取工作表名称】,选择数据所在SHEET页
    图片描述

  • 切换到‘字段’页面,点击【获取来自头部数据的字段】,即可获取SHEET页中第一行的字段名
    图片描述

  • 点击【确定】结束EXCEL配置

  • 双击【表输出】进入数据库表配置页面
    图片描述

  • 点击【新建】进入数据库链接配置页面
    图片描述

  • 在配置页面依次输入
    连接名称:任意填写
    主机名称:数据库IP
    数据库名称:ORA配置文件中的‘SID’
    端口号:数据库端口号
    用户名:数据库登录名
    密码:数据库登录密码
    图片描述

  • 点击【测试】,查看数据库是否能正常连接,然后点击【确定】,完成数据库配置
    图片描述

  • 在‘目标表’处输入需要导入数据的数据库表名称,并勾选‘指定数据库字段’
    图片描述

  • 切换到‘数据库字段’页面,点击【获取字段】,即可获取导入表的字段
    图片描述

  • 调整表字段(数据库表)和流字段(EXCEL字段)的对应关系,然后单击【确定】,结束配置
    图片描述

  • 点击页面上箭头或者按键盘上F9键,开始导入工作配置
    图片描述

  • 点击【启动】,正式开始导入
    图片描述

  • 在‘执行结果’处可以看到数据导入情况,如果提示错误,可以在‘日志’页面查看错误原因
    图片描述

  • 导入成功后如图
    图片描述

- 10个字段的表,建议一次性导入数据在10W左右,如果一次导入数据过多,会导致软件缓存不足,导入失败

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值