使用kettle跨库同步表数据

场景: 在oracle数据库中有一个表A,在mysql数据库中有一个表B,现在需要将表A中的数据,同步到表B中 
解决方案:使用kettle转换

表数据输入(数据来源)

  • 先new一个转换

    点击kettle的左上角的 + 号, 选择“转换

  • 在右边的的选项卡里,点击“核心对象”,选择“输入”,再找到“表输入”,选择拖拽到右边的空白处。 
    这里写图片描述

  • 双击此图标 
    这里写图片描述

  • 里面有一个数据连接,此时我们需要点击“新建,创建一个数据库连接,并填入相应的数据,点击“测试”,会提示连接是否成功,如果成功,则点击“确认”,进行下一步

  • 这里可能弹出缺少驱动包,自己去下一个放到kettle的lib文件夹下就没问题了。

  • 数据连接成功后,需要选择具体哪个表,这里点击“获取SQL语句” 
    这里写图片描述

  • 会弹出该用户下所有的表格,选择你需要同步的表,点“确定” 
    这里写图片描述

  • 弹出提示,选择“是” 
    这里写图片描述

  • 接着这里会显示sql语句了 
    这里写图片描述

  • 点击“预览”,可以看到你同步的表数据 
    这里写图片描述

表数据输出(数据接收)

  • 找到输出,选择“表输出”,拖拽到右边的空白处 
    这里写图片描述

  • 双击“表输出”图标,弹出设置页面 
    这里写图片描述

  • 同样的,先新建数据库连接,点击“新建”,这里选择了mysql数据库,缺少驱动包的自己需要手动下载放到kettle的lib文件夹下 
    这里写图片描述

  • 选择“目标表“,及接收数据的表,点击“浏览”找到需要的表,或者直接输入表名 
    这里写图片描述

设置步骤

  • 数据来源和数据接收方都设置好了,则需要指定步骤了

  • 按住shift键,鼠标左键选择“表输入”,拖拽到“表输出”,即可 
    这里写图片描述

  • 但oracle的表A中,字段名和mysql的表B中字段名不一样时,我们需要做映射(默认字段名是不分大小写的),按照图中步骤操作 
    这里写图片描述

  • 点击“输入字段映射”后,会弹出默认没有对上的字段 
    这里写图片描述

  • 选择对应的字段,点击“add”,即可完成映射,全部映射完毕,点击“确定” 
    这里写图片描述

  • 到这里,这个简单的转换就已经操作完成了,下面就要执行了

执行

  • 点击图中的按钮 
    这里写图片描述

  • 直接点击确定 
    这里写图片描述

  • 到这里就执行成功了,如果不成功,图标上不会出现勾勾 
    这里写图片描述

  • 接下来,就可以自己去mysql看看数据啦~ (全文完)

你可能感兴趣的:(遇到的问题==解决方案)