“ERRORCODE=-4228, SQLSTATE=null 非自动批处理出现故障” 的解决办法

 Caused by: <openjpa-1.1.0-r422266:657916 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: [jcc][t4][102][10040][3.50.152] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null {prepstmnt 257141 INSERT INTO TBL_PAMGM_BAT_ST (EVENT_TP, PA_SUBSYS_ID, SETTLE_DT, BAT_ST, EVENT_ID, REC_CRT_TS, REC_UPD_TS) VALUES (?, ?, ?, ?, ?, ?, ?) [params=(String) 1002, (String) sh_bat_1, (String) 20111101, (String) 1, (int) 100002018, (Timestamp) 2011-11-09 10:01:38.553, (Timestamp) 2011-11-09 10:01:38.553]} [code=-4228, state=null]
FailedObject: [com.cup.cuam.model.TblPamgmBatSt@1f3f1f3f[compId=com.cup.cuam.model.TblPamgmBatStPK@1f491f49[settleDt=20111101,eventTp=1002,paSubsysId=sh_bat_1]]] [java.util.LinkedList]
 at org.apache.openjpa.jdbc.sql.SQLExceptions.narrow(SQLExceptions.java:146)
 at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4150)
 at org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException(DB2Dictionary.java:506)
 at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
 at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72)
 at kodo.jdbc.kernel.BatchingPreparedStatementManager.executeBatch(BatchingPreparedStatementManager.java:304)
 at kodo.jdbc.kernel.BatchingPreparedStatementManager.flushInternal(BatchingPreparedStatementManager.java:220)
 at kodo.jdbc.kernel.BatchingPreparedStatementManager.flush(BatchingPreparedStatementManager.java:188)
 at kodo.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:90)
 at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
 at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
 at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:549)
 at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
 at org.apache.openjpa.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:554)
 at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
 ... 142 more

 

        这个报错是JPA的批量处理操作报的,因此并不能确切的定位是什么错误引起的,需要逐条分析批量操作的每条记录,我遇见的情况就是记录违反了唯一性索引,网上看有的人还有表空间不足,字段长度不够等原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值