当我尝试在具有容器管理持久性的无状态 bean 中执行存储过程时,出现以下错误;
com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-751, SQLSTATE=38003, SQLERRMC=STORED PROCEDURE;FXTR324;FXTR324;COMMIT, DRIVER=4.7.85
如果我手动创建数据库连接,即非托管事务,存储过程执行时不会出现错误。
我需要做些什么才能让它在 EJB bean 中执行吗?
最佳答案
尝试将调用存储过程的方法的事务属性设置为NotSupported。这样,您将确保您的方法在没有 Activity 事务上下文的情况下执行( Activity 事务上下文将被挂起),因此您的存储过程(可能执行提交/回滚逻辑)将成功执行。
有关更多信息,请查看 this article 。
关于java - 在 EJB 容器中执行 IBM DB2 存储过程时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5156471/