编辑推荐: |
文章主要介绍了Kettle在实现数据迁移时的环境配置以及单表、多表迁移的详细过程,希望能对您有所帮助。
本文来自于csdn,由火龙果软件微微编辑、推荐。 |
|
Kettle实现数据迁移
下载地址:http://mirror.bit.edu.cn/pentaho/Data%20Integration/
(JDK1.8才可支持Kettle7.0以后的版本)
配置环境变量,启动程序
(变量值根据文件目录而定)
运行Spoon.bat启动程序
单表数据迁移
进入主界面,左上角点击文件-新建-转换保存为demo.ktr
左侧选择核心对象面板。”在输入文件夹下选择表输入并把它拖动到右侧编辑区。
双击编辑区的表输入图标,编辑数据输入来源。点击数据库连接右侧的新建按钮,按demo背景中的要求,配置数据库参数。配置后点击测试
如果报错找不到驱动包,复制oracle的驱动jar文件到ETL(Kettle)的lib目录下(我这里使用的是jdbc7.jar)
点击获取SQL查询语句”(等待时间较长),选择要迁移的表,点击确定
选择否
重复以上步骤2,在输出文件夹下选择表输出并把它拖动到右侧编辑区。连线表输入和表输出
双击编辑表输出,填入目标表名
要迁移的目标表不能已存在于目标数据库中,除非是表结构相同。
点击 执行SQL 语句列表,选择执行SQL (已有数据库无需此步骤)
点击 “运行转换”,直接选择启动
之后就能看到执行结果
这里仅是对数据进行迁移,主键、外键、关联信息不会迁移过去,需要后期去目标数据库配置。
当出现数据中文乱码的时候
尝试去掉允许简易转换,再进行预览
查看Oracle数据库的编码格式select userenv('language') from dual;
多表数据备份
当要对数据库多张表进行迁移操作的时候,Kettle提供自动生成流程图功能。
选择工具-向导-复制多表向导
选择输入的数据库与输出的数据库
选择要复制的表
选择Job File文件的存放路径,随意填写(因为可能会生成多个文件,建议放在文件夹内)
点击Finish,等待约20s即可生成相应的迁移流程图,执行即可完成迁移
|