oracle抽取mysql_oracle到mysql,oracle到oraclel的多表批量数据迁移,定期任务抽取数据-kettle的使用...

一、背景

上一篇文章(单表数据迁移)用kettle实现了一张表的数据迁移。但实际情况中,数据库会有几百,几千张表,而kettle的表输入和表输出只能选择一张表,我们不可能一个个地填写表名。这时候,我们要考虑 通过循环实现多表的数据迁移。

二、前期准备

与单表数据迁移类似

准备好Oracle和MySQL的库,Oracle到Oracle也可以,转移,只是必须提前在kettle文件夹的lib目录下放入各个数据库的依赖。

电脑可以连接Oracle和MySQL。

下载好kettle,并把Oracle和MySQL的驱动包放在kettle文件夹的lib目录下。

如果第一次使用kettle,建议先看上一篇文章 《单表数据迁移》,上一篇很详细地介绍了新建转换、新建节点、新建数据库连接等问题。

三、批量数据迁移

1.读取需要迁移的表(转换)

方法一:从数据库读取所有表

//mysql查询该数据库的所有表

select table_name from information_schema.tables where table_schema=当前数据库名 and table_type='base table';

点击文件——新建——转换,在左侧的 核心对象 标签下选择 输入 下的 表输入,双击添加到右侧的转换面板,再选择 作业 下的 复制记录到结果 ,双击添加到右侧的转换面板。

64f2e1c08ebaf1ae7d5fdcffa448ce0a.png

接下来配置表输入,双击 表输入 的图标,橙色区域为必填项。如果是两个库表结构一致,导入所有表,可用语句

select table_name from user_tables //

且千万不要在语句后面加分号,会报错。如果只有部分表结构一致且要导入,可用语句来过滤掉源数据库没有的表,否则就会报错。

select table_name from user_tables where table_name!='T_XZQH' and table_name !='BASE_BUSINESS_INFO'

161a25a64255a9ef4207b2ad6fc31084.png

新建mysql的数据库连接,数据库连接的配置参考上一篇文章(注意是mysql的连接),新建好连接,记得测试一下是否连接成功。

SQL语句填写的就是mysql查询所有表的语句,table_schema 为你的mysql数据库名。

配置好点击下方的预览,看一下查出来的表名对不对。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值