利用Kettle进行SQLServer与Oracle之间的数据迁移实践

时间:2023-12-16 09:47:02

Kettle简介

Kettle(网地址为http://kettle.pentaho.org/)是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。 Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

Windows环境下的安装与配置

1、安装并配置JDK。

2、下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可。

SQLServer到Oracle的数据迁移实践

前置工作:在Oracle中按需建立目标数据表。

1、配置数据库连接依赖JAR包。将jtds-1.3.1.jar(SQLServer数据库连接依赖)和ojdbc14-10.2.0.4.0.jar(Oracle数据库连接依赖)拷贝到程序下面的lib文件夹。由于kettle没有将所有数据库的Driver文件集成,所以如果想连接指定的数据库,需要自己下载JDBC驱动,放入指定的lib目录下。添加完JDBC驱动后,必须重启kettle才能正确加载驱动。

2、双击运行spoon.bat,启动Kettle 。

3、新建一个转换,命名为SQLServer2Oracle 。

4、建立SQLServer连接。

利用Kettle进行SQLServer与Oracle之间的数据迁移实践

5、建立Oracle连接。

利用Kettle进行SQLServer与Oracle之间的数据迁移实践

6、核心对象-->输入-->表输入,拖入一个“表输入”节点至转换图形视图;编辑“表输入”节点属性,选择SQLServer连接,配置执行SQL。

利用Kettle进行SQLServer与Oracle之间的数据迁移实践

7、核心对象-->转换-->字段选择,拖入一个“字段选择”节点至转换图形视图;添加“表输入”至“字段选择”的连接;获取在上一步所选择的字段。

利用Kettle进行SQLServer与Oracle之间的数据迁移实践

8、核心对象-->输出-->表输出,拖入一个“表输出”节点至转换图形视图;添加“字段选择”至“表输出”的连接;编辑“表输出”节点属性,选择Oracle连接,配置目标用户、目标表、字段映射。

利用Kettle进行SQLServer与Oracle之间的数据迁移实践

配置好的转换视图如下:

利用Kettle进行SQLServer与Oracle之间的数据迁移实践

9、运行上述步骤已经配置好的转换。执行完毕后,检查核对,已经将SQLServer中的数据同步到Oracle中了。