Transactions RSAM错误:检测到长事务informix

Transactions RSAM错误:检测到长事务informix,transactions,informix,Transactions,Informix,我使用JDBCAPI在informix数据库的表中插入超过190000行。首先,我将连接自动提交设置为false,并且每1000行进行一次连接提交。但是我得到了一个例外: java.sql.SQLException: Long transaction aborted. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:413) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3494

我使用JDBCAPI在informix数据库的表中插入超过190000行。首先,我将连接自动提交设置为false,并且每1000行进行一次连接提交。但是我得到了一个例外:

java.sql.SQLException: Long transaction aborted.
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:413)
at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3494)
at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3807)
at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2610)
at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2526)
at com.informix.jdbc.IfxSqli.j(IfxSqli.java:2197)
at com.informix.jdbc.IfxSqli.getaRow(IfxSqli.java:4525)
at com.informix.jdbc.IfxResultSet.next(IfxResultSet.java:526)
at etaxarchive.FillDataManager.insertIntoTable(FillDataManager.java:173)
at etaxarchive.FillDataManager.fillTableData(FillDataManager.java:129)
at etaxarchive.ETaxArchiveManager.insertDataInArchiveTables(ETaxArchiveManager.java:224)
at etaxarchive.ETaxArchiveManager.archiveData(ETaxArchiveManager.java:97)
at etaxarchive.ETaxArchive.main(ETaxArchive.java:38)
Caused by: java.sql.SQLException: RSAM error: Long transaction detected.
at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:413)
at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3812)
... 10 more

任何人都可以知道这个异常。

您可以与数据库管理员讨论,并建议增加日志大小。您还可以尝试在一个事务中使用少量行:500、200甚至100。较小的事务可以更快地工作——尝试使用db admin对其进行调优

更多信息: