kettle 报错汇总
如下汇总kettle 常见报错及解决方法:
1、报错 1.kettle 无法连接上数据库
2、报错 2.javax.mail.AuthenticationFailedException: 535 : authentication failed
3、报错 3.Problem while sending message: com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp12
报错 1.kettle 无法连接上数据库
原因:orai18n.jar 包
做了一个新的需求,这个需求是从本地跑数据,然后把结果数据同步到生产。在同步的过程中一直报如下错误。很奇怪的问题是,通过图形化界面执行kettle没有报错,
如果通过kitchen.sh 调度就会报如下错误。这个问题遇到了两次,有必要记录一下。虽然不知道本质原因,但可以解决燃眉之急。
如下错误解决需要删除jar包 :distrib/lib/orai18n.jar distrib/libext/JDBC/orai18n.jar ,如果遇到相同的问题,不妨一试。
ERROR 02-09 11:03:17,384 - Table output - An error occurred intialising this step: Error occured while trying to connect to the database Error connecting to database: (using class oracle.jdbc.driver.OracleDriver) oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter; ERROR 02-09 11:03:17,385 - Table output - Error initializing step [Table output] ERROR 02-09 11:03:17,386 - Trans_Paic_Kpi_Import_tmp_table - Step [Table output.0] failed to initialize! INFO 02-09 11:03:17,386 - Table_In_ADS_KPI_PAIC - Finished reading query, closing connection. ERROR 02-09 11:03:17,389 - Table output - Unexpected error rolling back the database connection. ERROR 02-09 11:03:17,390 - Table output - org.pentaho.di.core.exception.KettleDatabaseException: Unable to get database metadata from this database connection at org.pentaho.di.job.Job.run (Job.java:313) at org.pentaho.di.job.Job.execute (Job.java:393) at org.pentaho.di.job.Job.execute (Job.java:667) at org.pentaho.di.job.Job.execute (Job.java:667) at org.pentaho.di.job.Job.execute (Job.java:667) at org.pentaho.di.job.Job.execute (Job.java:667) at org.pentaho.di.job.Job.execute (Job.java:528) at org.pentaho.di.job.entries.trans.JobEntryTrans.execute (JobEntryTrans.java:1034) at org.pentaho.di.trans.Trans.execute (Trans.java:397) at org.pentaho.di.trans.Trans.prepareExecution (Trans.java:799) at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose (TableOutput.java:708) at org.pentaho.di.core.database.Database.rollback (Database.java:715) at org.pentaho.di.core.database.Database.rollback (Database.java:726) at org.pentaho.di.core.database.Database.getDatabaseMetaData (Database.java:3167) at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:3171) at org.pentaho.di.core.database.Database.rollback(Database.java:726) at org.pentaho.di.core.database.Database.rollback(Database.java:715) at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:708) at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:799) at org.pentaho.di.trans.Trans.execute(Trans.java:397) at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:1034) at org.pentaho.di.job.Job.execute(Job.java:528) at org.pentaho.di.job.Job.execute(Job.java:667) at org.pentaho.di.job.Job.execute(Job.java:667) at org.pentaho.di.job.Job.execute(Job.java:667) at org.pentaho.di.job.Job.execute(Job.java:667) at org.pentaho.di.job.Job.execute(Job.java:393) at org.pentaho.di.job.Job.run(Job.java:313) Caused by: java.lang.NullPointerException at org.pentaho.di.core.database.Database.getDatabaseMetaData(Database.java:3167) ... 13 more
报错 2.javax.mail.AuthenticationFailedException: 535 : authentication failed
原因:身份验证失败
解决办法:检查一下你网页端邮箱设置中SMTP开启的时候的开启的授权码,你重新关闭SMTP服务再重新开启可以看到,在程序代码中登录的密码其实就是那个你设置的授权码,而且作为发件账号SMTP服务必须打开!
SMTP服务打开方法(163邮箱示例):
1.登录163邮箱,打开设置,可以看到POP3/SMTP/IMAP:
2.点击去设置如下:
3.在kettle邮件设置里邮箱服务器设置如下:
一顿操作之后发现还4不行,继续解决~~
报错 3. Problem while sending message: com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp12,EMCowABnpwdAfjFdoF9uBw--.42069S2 1563524673,please see http://mail.163.com/help/help_spam_16.htm?ip=116.228.131.82&hostid=smtp12&time=1563524673
解决:
1.根据指引帮助地址http://mail.163.com/help/help_spam_16.htm?ip=116.228.131.82&hostid=smtp12&time=1563524673
2.查看错误码:554 DT:
原因:居然提示不能发送垃圾邮件 = =。。原来是kettle邮件设置消息内容未填写,被识别为垃圾邮件了,更改如下:
还有发送/接收地址也要设置:
至此,kettle就可以发送邮件了,收到的示例如下: