win7 安装kettle7.0报错 怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win7 安装kettle7.0报错 怎么解决相关的知识,希望对你有一定的参考价值。

java -version和javac正常。执行spoon.bat时候报 “a java exception has occured”错误

方法/步骤

先从官方下载kettle。如果系统没有安装jdk,也需要下载。
至于下载地址,上百度一搜【kettle】、【jdk下载】就好了。
kettle下载下来是一个压缩包,类似pdi-ce-6.0.0.0-353.zip;jdk选择Windows安装版的话,一般是一个exe可执行程序。

安装jdk也很简单,下一步下一步最后就安装好了。此处就不详说了。
我的jdk安装在了:D:\\Program Files (x86)\\Java\\jdk1.7.0_02,这个路径待会需要使用。

设置kettle的java环境变量。
以win7为例:【开始】->【计算机】->【属性】->【高级系统属性】->【高级】->【环境变量】->【新建】,创建用户变量。变量名输入:PENTAHO_JAVA_HOME;变量值输入刚才jdk的安装路径。

部署kettle。
将刚刚下载的kettle压缩包解压出来。
进入解压路径,你可以看到一些子目录,以及一些bat文件。

启动kettle。
在根目录可以看到有一个叫Spoon.bat的文件,双击这个就可以启动我们的kettle程序了。
你也可以把这个文件创建一个快捷方式到桌面,就不用每次都到这个目录来找了。

启动一小会,就可以看到kettle的主界面了。
可以看到有一些教程的链接。如果有注意,在根目录里,有一个叫samples的子目录,里边有很多小栗子。
这样kettle部署配置就完成了。追问

是环境变量配置后,双击Spoon.bat的时候报的错。

参考技术A 因为kettle7.0是基于jdk1.8的,所以你用1.7的时候会报错,你可以运行SpoonDebug.bat,把完整的报错输出出来。
然后1.8 已经不支持MaxPermSize,所以你要在Spoon.bat中把XX:MaxPermSize修改为MaxMetaspaceSize。本回答被提问者采纳

kettle的报错解决机制

在kettle执行的过程中,如果遇到错误,kettle会停止运行。在某些时候,并不希望kettle停止运行,这时候可以使用错误处理(Step Error Handling)。错误处理允许你配置一个步骤来取代出现错误时停止运行一个转换,出现错误的记录行将会传递给另一个步骤。在Step error handling settings对话框里,需要设置启用错误处理。

下面例子中读取postgres数据库中的a0表数据,然后输出到a1表:

技术分享

 

a1表结构如下:

CREATE TABLE a1
(
  a double precision,
  id integer NOT NULL,
  CONSTRAINT idpk PRIMARY KEY (id ),
  CONSTRAINT idunin UNIQUE (id )
)

 

从表结构可以看出,a1表中id为主键、唯一。

a0表数据预览:

技术分享

 

现在a1表数据为空,执行上面的转换,执行成功之后,a1表数据和a0表数据一致。 再次执行,上面的转换会报错,程序停止运行,会报主键重复的异常。

现在,我想报错之后,程序继续往下执行,并记录错误的记录的相关信息,这时候可以使用“定义错误处理”的功能。 在“表输出”的步骤上右键选择“定义错误处理”,弹出如下对话框。

技术分享

 

相关字段说明:

  • 目标步骤:指定处理错误的步骤
  • 启用错误处理?:设置是否启用错误处理
  • 错误数列名:出错的记录个数
  • 错误描述列名:描述错误信息的列名称
  • 错误列的列名:出错列的名称
  • 错误编码列名:描述错误的代码的列名
  • 允许的最大错误数:允许的最大错误数,超过此数,不在处理错误
  • 允许的最大错误百分比:
  • 在计算百分百前最少要读入的行数:

添加错误处理后的转换如下:

技术分享

 

记录错误信息的字段列表如下,可以看出,errorNum、errorDesc、errorName、errorCode都是在定义错误处理时候填入的列名称,a、id来自于输入的记录的列。

技术分享

 

记录的错误信息如下:

技术分享

 

分析 可以看到,错误日志里只是记录了出错的行里面的信息,并没有记录当前行所在的表名称以及执行时间等等,如果能够对此进行扩展,则该错误日志表才能更有实际意义。

以上是关于win7 安装kettle7.0报错 怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

安装oracle10报错:ORA-12546:TNS:permission denied。请问高手或者dba怎么解决。多谢!

win7 64位 直接安装mysql odbc 64位 报错1918,怎么解决?

Win7 家庭高级版安装 Oracle 11g 怎么弄?请教高手解决!!谢谢!紧急。。。

WIN7安装JDK出现问题 ,总说dll不能运行,怎么解决?

Win8.1升级Windows10出现报错怎么解决

求助:win7中IIS配置报错403.14怎么办?