oracle视图能用etl工具_(转)使用kettle作为sqlserver2008和oracle10G之间的ETL工具

本文介绍了如何使用开源ETL工具Kettle,将数据从SQLServer2005迁移到Oracle11G。通过新建转换,配置输入和输出组件,详细解释了数据库连接设置、获取SQL查询语句、表映射等步骤。在实际操作中,需要注意SQLServer与Oracle对特定数据类型的处理差异,如NULL值和逻辑字段,可能需要转换数据类型以确保迁移顺利进行。
摘要由CSDN通过智能技术生成

http://blog.sina.com.cn/s/blog_664558d30100qga9.html

实际工作过程中,常常会遇到将数据从一个数据库迁入到另外一个数据库,以sqlserver2005到oracle11G为例,使用的工具为kettle。

kettle是开源免费的工具,比起那些付费的ETL工具来说,要实惠的多。

下面介绍一下步骤吧:

1.新建一个转换

(图1)

2.配置输入组件

(图2)

(图3)

(图4)

双击图1中的输入,然后在图2中数据库连接处点新建,配置一下主机名,数据库类别(MS

SQLSERVER),数据库名,数据库用户名,数据库用户密码,最后别忘记了连接名,配置好后点击test按钮,test连接成功后,点击确认回到图2界面,点击‘获取SQL查询语句’,选中你要导出的数据库中的表,点击确定,则输入组件已经完成。

3.配置输出组件

输出组件的配置和输入组件大同小异。

(图5)

(图6)

双击图1中的输出组件,然后在图5中数据库连接处点新建,按照图6的红色指示配置一下主机名,数据库类别(MS

SQLSERVER),数据库名,数据库用户名,数据库用户密码,最后别忘记了连接名,配置好后点击test按钮,test连接成功后,点击确认回到图5界面,点击‘目标表’处的浏览按钮,找到对应的您想导入的oracle表,点击确定后,回到图5,勾选上specify

database fields,然后依次选取get fields 和enter field

mapping,匹配好各个项目之后,整个转换就建立完毕了,只需要保存然后运行一下即可,当然了,直接运行的时候,kettle会提示你是否自动保存,选择‘是’,以后就都自动保存了。

注意事项:

在最近的几次实践中,发现,由于sqlserver和oracle对于控制以及‘是否’这样的逻辑词的描述不一样,所以,经常如果照搬sqlserver的数据类型到oracle中,kettle会报错,导致无法正常运行,解决的办法就是,将sqlserver中出现‘null’值的number型数据,建立oracle数据类型的时候,建立为varchar2()型;将‘是否’类的逻辑词也建立为varchar2()型,因为sqlserver是用0和1来表示false和true的,但是,oracle中用的是‘N’,'Y'。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值