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

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

时间2025-06-20 07:55:42分类IT科技浏览6916
导读:简单记录一下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
企业网站优化的优势(为什么需要对企业网站进行优化?)