0

我正在尝试在使用 Rocket U2 Universe 数据库(以前称为 IBM Universe)的应用程序中实现事务。关于 UniObjects 的使用有相当好的文档,特别是 UniSession.CreateUniTransaction 方法,以及该 UniTransaction 对象上的 BeginTransaction、Commit、RollBack 等方法。

实例化 UniTransaction 对象并调用 BeginTransaction 非常简单,但是一旦该事务处于活动状态,任何访问 Universe 文件的尝试都会导致代码冻结或导致异常消息“无法在事务执行时执行此操作”积极的”。

有关于使用 UniAdmin 激活“事务日志”的文档,但该文档的形式是“单击此然后单击那个”,没有真正解释底层架构的哪些部分受到影响。事实上,无论我点击多少次“这个和那个”,我都无法让“事务日志”进入启用状态。我不确定“事务日志”是否适用于我创建的 UniTransaction 对象的功能。

如果有人设法使用 UniTransaction 进行事务处理,请她/他指出正确的方向。

4

2 回答 2

0

注意有《Rocket UniVerse Transaction Logging and Recovery》手册

可以在 Rocket 软件文档库中找到

http://docs.rocketsoftware.com/nxt/gateway.dll?f=templates $fn=default.htm

这是您在问题中提到的文档吗?

你能描述一下你在开始交易后想要做什么吗?

于 2015-11-04T17:19:08.190 回答
0

最终,我联系了我们当地的 Rocket 支持,他们与 Rocket HQ 反复讨论了很多次,得到了答案:

要在事务中对类的实例执行操作UniFile,您必须在尝试操作之前将UniFile'sUniFileLockStrategyUniFileReleaseStrategy属性设置为(“记录锁独占”)。1

非常简单,也很有意义,但没有很好的记录。

于 2016-02-10T11:21:58.463 回答