利用kettle进行sqlserver与oracle之间的数据迁移实践

hans_gis hans_gis     2022-12-02     172

关键词:

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连接。

技术图片

5、建立Oracle连接。

技术图片

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

技术图片

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

技术图片

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

技术图片

配置好的转换视图如下:

技术图片

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

kettle实现数据库迁移----多表复制向导

...业务系统CRM抽取到数据仓库的缓冲层,业务系统使用的是SqlServer数据库,数据仓库的缓冲层使用的是mysql数据库,为实现数据库的迁移,即将SqlServer数据库中的所有表与数据迁移到Mysql。 解决办法一:利用kettle的复制多表复... 查看详情

kettle利用excel文件增量同步一个库的数据(多表一次增量同步)(代码片段)

利用excel文件增量同步一个库的数据现在有sqlserver和mysql两个库上的表在进行同步,mysql上的是源表,sqlserver上是目标表。mysql:sqlserver:可以看到sqlserver上表的最近一次同步日期分别是pep表:2022-10-2314:19:00.000stu_info表ÿ... 查看详情

单挑kettle/datax,实测免费数据同步工具tapdatacloud如何实时同步sqlserver,oracle,mysql,pg,mongodb,达梦,tidb,es等异构数据库

摘要:本文以SQLServer为例,实测免费数据同步工具TapdataCloud。SQLServer关系数据库管理系统是一个全面的数据库平台,安全性可用性能高,方便易用,广泛应于ERP系统、商业智能、垂直领域零售等场景。很多公... 查看详情

kettle7.0将sqlserver中的数据同步到mongodb中

1.打开输入菜单栏,找到表输入并拖入工作空间2.打开Output菜单栏,找到JSONOutput并拖入工作空间3.打开BigData菜单栏,找到MongoDBOutput并拖入工作空间4.将以前3个控件拖入工作台后,然后后按住shift键,点击鼠标左键,吧各个步骤连... 查看详情

kettle教程简单入门kettle简单插入与更新。打开kettle

本文要点:Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。 Kettle简介:Kettle是一款国外开源的ETL工具,... 查看详情

sqlserver和oracle中sql语句一样吗?

为什么我用DESCRIBEtablename在SQLSERVER中不行呢Oracle与Sqlserver都遵循SQL-92标准:区别如下:1.Oracle中表名,字段名,存储过程名,变量名不能超过30个字符串长度。2.Oracle中不支持Top语法。使用whererownum<n代替。但需要注意如果在Top前... 查看详情

kettle怎样连接数据库连接

...接进入主题吧!环境:kettle-spoon4.2.0,oracle11g,myeclipse6.5,sqlserver2008前提:在kettle图形界面spoon里面已经做好了一个ktr转换模型,此时我的ktr信息如下图:Step1:在myeclipse创建project,导入kettle集成所需要的包Step2:重点解析与code源... 查看详情

怎样利用kettle官方社区查找关于carte服务的设置

...的blog:http://blog.csdn.net/huangyanlong/article/details/46863223 利用Kettle社区查找资料:举例:查找关于carte服务的配置搜索kettle。进入kettle社区。例如以下:进入社区站点后。找到kettle的document选项, 查看详情

kettle怎么将mysql中数据导入sqlserver

参考技术A由于项目开始时候使用的数据库是SQLServer,后来把存储的数据库调整为MySQL,所以需要把SQLServer的数据转移到MySQL;由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据;我使用了MySQL的Client的工具SQLyog,这个工... 查看详情

怎么利用kettle从一个接口中获取数据

参考技术A就是将INI文件里面的下面参数调整:原始:innodb_flush_log_at_trx_commit=1调整为:innodb_flush_log_at_trx_commit=2 查看详情

etl工具kettle连接到sqlserverexpress2008(以及sqlserver添加用户)

...,造成了很多麻烦,建议最好添加一个用户用来SQLServer方式登录。Kettle不支持windows登陆,只能用用户名密码,所以开始创建用户。不知什么原因,安装sqlservermanagmentstudio失败,放弃。SQLServerExpress2008默认只... 查看详情

kettle中mongodb查询语句怎么写

参考技术Aimage是sqlserver中存储大二进制的数据类型而blob是oracle中存储大二进制的数据类型这两个是对应的一般来说,不能直接查看二进制的数据内容。需要知道是原始是什么内容,文件?还是什么?本回答被提问者采纳 查看详情

sqlserver的sql语句和oracle的sql语句有啥不同吗?

sqlserver的sql语句是怎么样的?和oracle的sql语句一样吗?举几个例子,例如插入,删除,修改,建表等基本上都是相似的,但值得注意的几个地方(是我们经常碰到的):1.数据类型是varchar2而不是varchar,2.有数据类型number,没有... 查看详情

kettle实现单表增量抽取

用kettle实现一个表的增量抽取sqlserver情况mysql情况需求整理可以看到在sqlserver上是有23年6点之后的数据而mysql上只有23年6点前的数据,我们现在要把sqlserver这部分没有抽取过来的数据抽取到mysql上来先获取mysql这张表的最大的gx... 查看详情

kettle实现单表增量抽取

用kettle实现一个表的增量抽取sqlserver情况mysql情况需求整理可以看到在sqlserver上是有23年6点之后的数据而mysql上只有23年6点前的数据,我们现在要把sqlserver这部分没有抽取过来的数据抽取到mysql上来先获取mysql这张表的最大的gx... 查看详情

oracle里面有没有类似与sqlserver里面的go?

oracle里面有没有类似与sqlserver里面的go?我的意思是几段代码可以一起执行参考技术A有GOTO语句。 参考技术B可以把几段代码写在一个存储过程里,然后执行(execute)存储过程。 参考技术Cgoto本回答被提问者采纳 查看详情

如何利用sqlserver创建表

参考技术A我们使用SQLServer的时候经常需要创建表,那么如何操作呢?下面我给大家分享一下。工具/材料SQLServerManagment首先我们打开SQLServerManagment管理软件,选择一个数据库,如下图所示接下来右键单击表,选择新建下面的表选... 查看详情

oracle与sqlserver如何实现表数据同步

有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同... 查看详情