微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

利用kettle工具 sqlserver2008导入oracle数据

1.前言

   由于工作需要,需将oracle的数据导入到sqlserver2008,经同事推荐使用kettle工具。

 

2.kettle简介

  kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,数据抽取高效稳定。

  kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

  这里我们只用transformation完成针对数据的基础转换。

 

3.图文操作

  1)开启kettle工具

  将kettle4.1.0文件夹拷贝到本地路径,例如D盘根目录。

  双击运行kettle文件夹下的spoon.bat文件,进入kettle主页面

  

   关闭Repository Connection窗口

 

   2)创建transformation

       主窗口左上角文件”--》“新建”--》“转换”,点击保存到本地路径,例如保存到D:/etltest下,保存文件名为 EtlTestTrans,认后缀为ktr.

 

  3)创建Oracle连接

   在transformation页面下,点击左边的“主对象树”,双击“DB连接”进行数据库连接配置。如图:

  

   Connection Name 自命名连接名称

   Connection Type选择需要连接的数据库

   Host Name 数据库服务器的ip地址

   DataBase Name 数据库名称

   Port Number 端口号

   User Name 用户名

   Password 密码

  

   填写内容如下:

  

   填写完后,点击按钮“Test”.

  

   如图上,表示连接成功。点击确定,然后点击保存数据库连接。

  4)创建sqlServer连接

    与创建Oracle连接大同小异,如图:

  

   ODBC DSN Source Name 数据源名称

   这里我用的是ODBC连接,需要配置数据源

   控制面板--管理工具--数据源(ODBC)--系统DNS--添加--……

   5)表输入

      核心对象--输入--表输入,将表输入 拖到右边的主窗口,双击表输入如图:

  

    自命名表输入名称数据库连接下拉框选择etltest数据库(步骤3. 3)的oracle连接),

    点击“获取SQL查询语句”,弹出框:

   

   双击你要导出数据的表,点击确定。

 

   6)字段选择

     核心对象--转换--字段选择,将字段选择 拖到右边的主窗口,

     按住SHIFT键,用鼠标创建的表输入,拖动到字段选择上,则建立了两个环节之间的连接。

     

       双击字段选择,在下图窗口中“选择和修改”和“元数据”tab页分别点击获取选择的字段按钮,然后确定。

         

   7)表输出

    与表输入大同小异。

   

   

   

 

4.遇到的问题

   1)连接Oracle问题:注意Database Name,是配置文件TNSNAMES.ORA中数据库的配置名称

 

   2)连接sqlServer问题:用JDBC始终不成功,最后改用ODBC连接。

 

   3)两库中表某字段类型不同:oracle中的blob类型--》sqlserver中的varbinary类型,最终改为Image类型。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐