需求
从MS Sql Server迁移数据到MySQL中
环境信息:
- Window10 64位
- pdi-ce-8.2.0.0-342
- SqlServer2017 Docker版本
- MySQL5.7.23 Docker版本
操作
软件准备
pdi-ce-8.2.0.0-342.zip版本下载
解压出该版本,运行Sqoon.bat即可
流程配置
新建转换
打开Kettle软体,新建一个转换任务,“文件”-->“新建”-->“转换
配置SqlServer源数据库
在“核心对象”-->“输入”-->“表输入”,将“表输入”图标直接拖拽到右侧区域
没有SqlServer jar包导致JDBC测试失败,解决方法就是下载mssql-jdbc-7.0.0.jre8.jar存入到lib目录下。
获取目标表
配置“字段选择”
过滤,转换字段信息
双击“字段选择”图标打开配置界面
“选择和修改窗口”:可以修改字段名称
“移除”:可以选择不需要传输数据的列,选择后将不会传输此字段里的值到目标表,我们这里选择的是TS字段,因为此字段是timestamp类型数据(时间戳)
“元数据”:在此可以对源数据表中的所有字段进行转换设置,比如类型,长度,精度,字符集等,如果想一次性将源表的所有字段均加载进来的话,点击右侧“获取改变的字段”。
配置“插入/更新”---目标数据库
新建我们需要导入的目标数据库连接,按照上面的步骤教程新建连接,
“浏览”选择需要导入数据的table
在此区域内选择查询数据时依据的字段,其实也就是根据此字段来判断两个表中的数据是否是同一笔记录
点击“获取和更新字段”可以在“更新字段”区加载所有字段,注意选择是否所有字段都需要更新数据,我在这里将carid的更新状态改成了Y。
校验连接情况
出现报错信息,根据详细,检查刚才的字段配置内容
得到问题原因
测试执行任务
执行结果
源数据库
目标数据库
定时任务
新建作业
部署作业
设置执行频率
选择执行任务项