iSeries 过程调用上的承诺控制错误
我在调用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果这是错误 CPF4326,则消息文本给出以下可能性:
这些情况在您的情况下可能发生吗?
If this is error CPF4326, the message text gives the following possibilities:
Are these situations possibles in your case?
我们已经收到 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.
您可以在编译时将 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.