我正在尝试从应用程序中执行取消操作,该操作将从数据库中删除一条记录。但是,在测试环境中,日志中出现错误,并且“取消”失败。在我的本地主机中部署相同的应用程序时,它运行正常,没有任何问题。
我试图在本地环境中复制该问题,但是该问题在那儿起作用。
请注意,我的本地环境和测试环境都指向同一个数据库。
在以下环境中产生的错误:
App Server : WebLogic 12cR2
DB : 12c
OS : AIX
Java : 1.8
在以下环境中工作:
App Server : WebLogic 12cR2
DB : 12c
OS : Windows 7
Java : 1.8
收到错误:
Caused by: oracle.jdbc.xa.OracleXAException: XAErr (100): The
inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
Caused by: java.sql.SQLTransactionRollbackException: ORA-02091: transaction rolled back
ORA-02292: integrity constraint (EDOC2.FK_REQ_DOC_TYPE) violated - child record found
完整错误日志:
weblogic.transaction.RollbackException: XAErr (100): The inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:2104)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:376)
at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:262)
at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:442)
at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:20)
at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:307)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invokeInternal(SessionRemoteMethodInvoker.java:67)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:21)
Caused by: oracle.jdbc.xa.OracleXAException: XAErr (100): The inclusive lower bound oof the rollback codes. ORA-2091 SQLErr (0)
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1112)
at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:629)
at weblogic.jdbc.jta.DataSource.commit(DataSource.java:1156)
at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1572)
at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:625)
at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:644)
at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:2402)
at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:3386)
at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:3291)
at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:314)
Caused by: java.sql.SQLTransactionRollbackException: ORA-02091: transaction rolled back
ORA-02292: integrity constraint (EDOC2.FK_REQ_NEW_BE) violated - child record found
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:441)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:436)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1061)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
at oracle.jdbc.driver.T4CTTIOtxen.doOTXEN(T4CTTIOtxen.java:169)
at oracle.jdbc.driver.T4CXAResource.doTransaction(T4CXAResource.java:818)
at oracle.jdbc.driver.T4CXAResource.doCommit(T4CXAResource.java:455)
at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:624)
预期结果应该是它必须在本地环境和测试环境中均能正常工作。请让我知道我错过了什么。