iSeries 过程调用上的承诺控制错误

发布于 2024-07-29 17:24:38 字数 270 浏览 8 评论 0原文

我在调用 iSeries 存储过程(由各种 CL 和 RPG 程序组成)时遇到间歇性问题。 错误是:-

 Commitment definition *N not valid for open of QAOSSI12
    Error occurred while opening file QAOSSI12. 

正如所提到的,该问题并不总是发生,但在对过程进行负载测试时会更频繁地发生。

我知道这些信息很模糊,但任何想法表示赞赏!

I have an intermittent problem when calling an iSeries stored procedure (consisting of various CL & RPG programs). The error is:-

 Commitment definition *N not valid for open of QAOSSI12
    Error occurred while opening file QAOSSI12. 

As mentioned the problem does not always occur but occurs more when load testing the procedure.

I know the information is vague but any ideas appreciated!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

暖阳 2024-08-05 17:24:38

如果这是错误 CPF4326,则消息文本给出以下可能性:

  • 当承诺定义 *N 未激活时,成员 QAOSSI12 已打开以进行承诺控制。
  • 对于除 *N 之外的承诺定义,未提交的更改正在等待成员 QAOSSI12。
  • 调用程序使用承诺定义 *N,其范围为 *ACTGRP,而程序指定使用 *JOB 范围打开文件。

这些情况在您的情况下可能发生吗?

If this is error CPF4326, the message text gives the following possibilities:

  • Member QAOSSI12 was opened for commitment control when commitment definition *N was not active.
  • Uncommitted changes are pending for member QAOSSI12 for a commitment definition other than *N.
  • The calling program is using commitment definition *N which has a scope of *ACTGRP, while the program specified to open the file using ascope of *JOB.

Are these situations possibles in your case?

枯叶蝶 2024-08-05 17:24:38

我们已经收到 CPF4326,似乎有效的解决方案是将“transactionisolation=none”添加到我们的 jdbc URL 中。 无论如何,我们并没有尝试使用事务,因此启用它们没有任何好处。 我们还怀疑 iBATIS 中的某些内容在出现错误时试图回滚事务,即使我们在承诺控制方面没有做任何明确的事情。

We've been getting CPF4326 and the solution that seems to be working is to add "transaction isolation=none" to our jdbc URL. We aren't trying to use transactions anyway, so there's no benefit to having them enabled. We're also suspicious that something in iBATIS is trying to rollback the transaction when there is an error, even though we don't do anything explicit as far as commitment control.

烈酒灼喉 2024-08-05 17:24:38

您可以在编译时将 COMMIT 值更改为 COMMIT(*NONE),然后不会创建任何承诺定义。

提交(COMMIT)命令用于完成当前事务并为与发出命令的程序相关联的承诺定义建立新的承诺边界。

您还必须检查您的文件是否在日记下。

You can change COMMIT value at compile time to COMMIT(*NONE) then no commitment definition is created .

The Commit (COMMIT) command is used to complete the current transaction and to establish a new commitment boundary for the commitment definition associated with the program issuing the command.

You have to check also if your file in under Journal.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文