1.创建资源库KSPOON
--查看表空间的位置和物理文件
select TABLESPACE_NAME,FILE_ID,FILE_NAME,BYTES/(1024*1024)TOTAL_SPACE from dba_data_files;
--先查看DBF文件的位置
--创建表空间
CREATE TABLESPACE "KSPOON"
DATAFILE 'D:\SOFTWARE\ORACLE\ORADATA\ORCL\KSPOON01.DBF' SIZE 200 M AUTOEXTEND ON NEXT 200
--创建用户并分配表空间
CREATE USER "KSPOON" IDENTIFIED BY "123456" DEFAULT TABLESPACE "KSPOON";
GRANT "DBA" TO "KSPOON";
ALTER USER "KSPOON" DEFAULT ROLE "DBA"
2.用本地的spoon工具连接刚刚创建的库KSPOON,来真正创建资源库KSPOON
双击spoon.bat,若是之前本地有建资源库,先登录本地的资源库,用户名:admin 密码:admin ,之后点击登录的资源库或者Connect那里,选择Repository Manager 资源库管理
之后就是创建中,创建之后KSPOON库下就会生成很多表
3.然后进行kettle spoon 集成程序搭建
https://gitee.com/uxue/dataCollection#/uxue/dataCollection/blob/master/doc/QA.md
然后加压到自己的项目文件夹中,重命名为:dataCollection
用IDEA打开,将Maven仓库设置好,自动导入Auto import package
发现oracle包依赖版本爆红,版本有问题,删除oracle包依赖,将下面这两个依赖放进去
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
备注:我是直接从同事那里要的代码,增加了一个sql server的包依赖jtds
之后修改配置文件
application.yml
application-kettle.yml
application-oracle.yml-指定资源库
在启动之前需要运行这个项目中doc文件夹中的sql
再次检查yml配置文件,然后运行,运行成功后,浏览器访问http://localhost:7080/
会报这个错,原因是填写的密码有可能错误 用户名:admin 密码:admin
资源库连接成功了
然后选择
需要spoon工具建一个测试转换来测试
然后新建定时策略
新建一个测试的任务分类
点击任务监控查看执行成功次数
4.上面这些都是在本地运行,需要打包到服务器上,作为服务,spoon工具就可以随意关闭了,不影响任务的运行,之前在spoon工具中运行job,不能关闭spoon工具,现在使用程序运行转换或者job,程序控制,就实现后台运行转换
打包过程遇到UTF-8的问题,导致打包失败
Unexpected error reading step information from the repository
Invalid byte 1 of 1-byte UTF-8 sequence.
解决:本地再次运行程序,可以成功运行起来,然后将刚才在数据采集平台上的采集任务停止,并删除,就能重新打包成功,意思就是等部署到服务器上之后再把这个测试转换建采集任务运行
看到文档中有解决这个问题的方案是将File-Encoding中设置为UTF-8,我设置,但是打包的时候还是报错打包失败
然后就按照我的另一个博客用nssm.exe部署jar 做成服务,启动
https://www.cnblogs.com/yr1126/p/15603350.html
然后访问这个程序http://IP:7080/
之后新建采集任务,添加转换,再启动,监控查看成功运行次数
还有就是将错误次数重新归为0,重新开始执行任务
至此圆满结束!!!