首页IT科技kettle连接oracle12c(springboot集成kettle实现对接oracle数据)

kettle连接oracle12c(springboot集成kettle实现对接oracle数据)

时间2025-09-15 00:32:09分类IT科技浏览8282
导读:简单记录一下springboot引用kettle对接数据...

简单记录一下springboot引用kettle对接数据

第一步(这一步讲述了下载kettle                    、创建数据库连接                             、转换等                    ,如果这一步会的可以略过                              ,直接看第二步)

先从kettle官网下载kettle         ,官网地址:https://sourceforge.net/projects/pentaho/

进入官网后点击files               ,选择需要的版本进行下载

下载完成后是一个压缩包                              ,免安装的              ,选择一个路径          ,将压缩包解压                              ,解压后进入到data-integration目录                   ,该目录下有一个Spoon.bat文件     ,双击即可运行

打开后界面是这样的

然后选择依次点击文件->新建->转换就可以编辑对接数据的逻辑了

在编辑对接程序之前                              ,是需要先设置一下数据库信息的                        ,在这里说明一下,新解压的kettle没有oracle的驱动                         ,需要手动的下载一个ojdbc的jar包放到\data-integration\lib目录下                             ,否则测试连接的时候会报错(以oracle的为例    ,如果是其他数据库请忽略这一步                    ,直接看下边)

放好以后                              ,需要关掉kettle重启一下才行         ,我这里放的是ojdbc7               ,至于其他类型的数据库我还没有测试                              ,不知道是不是也会出现这种情况              ,如果也出现这种情况的话          ,就下载一个相对应的驱动                              ,放到data-integration\lib目录下就行

接下来就是在新建的转换当中选择工具->向导->创建数据库连接向导(这一步可以将要读取的数据库和要写入的数据库都配置好                   ,这样在编写对接逻辑的时候就不用在返回来重做这一步了)

根据向导     ,选择要读取的数据库或者写入的数据库类型                              ,给连接起个名字                        ,点击next

然后是配置数据库信息,服务器主机名称就是ip地址                         ,tcp/ip端口就是数据库的端口                             ,例如oracle的就是1521    ,数据库名称就是数据库的连接符                    ,例如oracle的orcl                              ,填好后继续点击next

然后会出现让选择数据表空间和索引表空间的步骤         ,这一步可以选择不填               ,继续点击next                              ,就到了最后一步              ,在这里填入数据库的账号密码          ,点击测试数据库连接

编辑好数据库后                              ,接下来就是编辑对接逻辑了                   ,这里就先简单的写个步骤     ,复杂的需要自己慢慢体会

首先在窗口的左侧核心对象下                              ,从输入标签中找到表输入                        ,双击或者拖拽都行,拖拽的话是往右侧转换里拖拽                         ,这个表输入就是要读取的数据                             ,然后关闭输入标签    ,或者向下滑动                    ,找到输出标签                              ,从输出标签中找到插入/更新         ,同样以双击或拖拽的方式加入到转换里               ,这个是要写入的数据                              ,然后按住shift键              ,先点击表输入          ,再点击插入/更新                              ,这样这个节点就创建好了

创建好节点连接后                   ,就需要编辑表输入和插入/更新了     ,表输入就是要读取的数据                              ,插入/更新就是要写入的数据                        ,双击表输入

双击更新/插入

当这两个编辑好后,保存一下                         ,就会生成一个ktr文件                    。

至此                             ,在可视化界面中创建ktr文件的步骤就完成了

第二步    ,将生成的ktr文件集成到springboot里面

首先需要注意的是                    ,相关依赖一定要引用全了                              ,不然运行时会出现很多异常         ,我就是这样               ,公司同时给的代码                              ,在他那里可以运行              ,到我这里以后就各种异常往外报          ,耗费一天的时间                              ,终于可以进行数据对接了                   ,下面记录一下需要引入的依赖

至于对接的代码就比较简单了     ,网上到处都有                              ,这里我也记录一下吧

     try { //初始化kettle       //如果初始化失败                        ,当加载完ktr文件后,会报database type with plugin id [Oracle] couldnt be found! KettleEnvironment.init(); } catch (KettleException e1) { e1.printStackTrace(); }try { //加载kettle的ktr文件 String url=this.getClass().getClassLoader().getResource("test.ktr").getPath(); System.out.println("########################"+url); TransMeta transMeta = new TransMeta(url); transMeta.setLogLevel(LogLevel.DEBUG); Trans trans = new Trans(transMeta); trans.prepareExecution(null); trans.startThreads(); trans.waitUntilFinished(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }

总结:其实kettle集成到springboot里面没有多少代码                         ,这个功能最主要的还是ktr文件的编写                             ,只要ktr编写好了    ,放到指定文件夹下                    ,写个定时任务就完事了                              ,如果以上内容有什么不对的地方         ,还望各路大神指出               ,我加以修正

声明:本站所有文章                              ,如无特殊说明或标注              ,均为本站原创发布                              。任何个人或组织          ,在未征得本站同意时                              ,禁止复制          、盗用               、采集                             、发布本站内容到任何网站               、书籍等各类媒体平台         。如若本站内容侵犯了原著者的合法权益                   ,可联系我们进行处理               。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
华容网络科技有限公司(华容网络诈骗案) macbookair如何锁定电脑屏幕(MAC不用装软件锁定键盘和触控板的方法)