使用kettle对数据库类型及表变更的调研

需求

MS sql server 到 mysql

数据表结构的变更,由数据库A为sql server、数据库B为mysql,

1.A的表test_a 转换为 B的表test_a;

2.A的表test_a 转换为B的表test_a及test_b

3.A的表test_a及test_b转换为B的test_a

kettle的安装

下载地址:http://www.kettle.be/

配合的mysql的驱动:

下载地址:https://downloads.mysql.com/archives/c-j/

点击Archives(档案): 5.1.49 这里的版本号很重要,kettle连接mysql数据库时会报错,(试的,不知道kettle官方的映射在哪)

kettle 对1的实现

新建转换->添加两个数据库连接-》添加输入-》添加输出(表输出或者插入/更新)-》输入与输出关连。

kettle对3的实现

新建转换-》添加两个数据库连接-》添加输入-》写入多表关联查询的sql-》添加输出表输出-》输入与输出关连-》字段映射关系设置

kettle对2的实现

新建转换-》添加两个数据库连接-》添加输入-》查询的sql-》添加输出2个-》输入与输出关连-》右键选择数据发送:选择数据复制发送-》字段映射关系设置

大记录的表如何转换

新建转换-》编写获取总条数的sql->转换成页码 如

每页 10000条,这个由右键-》转换设置-》杂项-》记录集合里的记录数 这个值来,看内存大小

1
1
2

新建具体转换-》数据库A的表输出到数据库B

右键具体转换中的输出表-》改变开始复制的数量 这里是多线程输出。

新建作业-》引用页码的转换-》具体转换-》结束

数据库连接超时,怎么办

数据库连接的配置可以在表名后加入?autoReconnect=true


使用kettle对数据库类型及表变更的调研
http://hanqichuan.com/2022/02/14/系统设计/使用kettle对数据库类型及表变更的调研/
作者
韩启川
发布于
2022年2月14日
许可协议