java - 在 EJB 容器中执行 IBM DB2 存储过程时出错

标签 java stored-procedures db2 ejb-3.0

当我尝试在具有容器管理持久性的无状态 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/

相关文章:

stored-procedures - 如何在 PL/SQL 中调用带有行类型文字作为参数的过程?

sql-server - 我应该在存储过程中的临时表上创建主键吗?

java - 使用 Join Table 和 Hibernate JPA 以及约束违规问题

database - 与用于 OLTP 的 Oracle 和 DB2 相比,PostgreSQL 缺少的最关键的特性是什么?

java - CLOB 值太大,无法插入到 DB2 表中

java - Java 服务器的 JSON 格式

java - 在Spring MVC中将复选框值插入数据库

java - 从 java 应用程序导出时,IE6 生成奇怪的工作表名称

java - 发布时不编译代码块?

java - 如何在catch部分的对象中添加值?