使用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的安装
配合的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对数据库类型及表变更的调研/