使用kettle导入数据报错- ERRORCODE=-4228, SQLSTATE=null
出现这种错误,本人遇到的有两种可能的原因,一种是插入的数据到目的表主键冲突,另外一种是违反非空约束。
附详细的报错信息如下:
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : Unexpected batch update error committing the database connection.
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseBatchException:
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : Error updating batch
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : [jcc][t4][102][10040][3.50.152] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : 使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) :
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at org.pentaho.di.core.database.Database.emptyAndCommit(Database.java:1494)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:647)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at org.pentaho.di.trans.step.RunThread.run(RunThread.java:69)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at java.lang.Thread.run(Thread.java:619)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : Caused by: com.ibm.db2.jcc.b.em: [jcc][t4][102][10040][3.50.152] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : 使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at com.ibm.db2.jcc.b.wc.a(wc.java:365)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at com.ibm.db2.jcc.b.p.a(p.java:318)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at com.ibm.db2.jcc.b.uk.a(uk.java:3511)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at com.ibm.db2.jcc.b.uk.b(uk.java:3340)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at com.ibm.db2.jcc.b.uk.executeBatch(uk.java:1944)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : at org.pentaho.di.core.database.Database.emptyAndCommit(Database.java:1477)
2018/02/24 09:28:12 - 表输出.0 - ERROR (version 4.2.1-stable, build 15952 from 2011-10-25 15.27.10 by buildguy) : ... 3 more