2

我在使用 MSDTC 和 Oracle 时遇到了问题。这是一个 .net 应用程序,我使用 TransactionScope 类来控制事务。

问题是,有时,如果事务回滚(在没有调用 scope.Complete 的情况下调用了 scope.Dispose),它会长时间处于“Aborting”状态,而不是释放锁定的记录。即使事务处于“Aborting”状态,当调用 Dispose 以中止事务时,它也会立即返回,因此线程不会卡住。

有谁知道什么会导致事务表现得像这样并在调用 abort 后保留锁?

谢谢

4

1 回答 1

1

在使用 Microsoft Data Provider for Oracle 时,存在有关使用分布式事务的已知问题。

如果您正在使用它,请尝试切换到ODP.NET提供程序,这应该可以解决您的事务问题。

于 2008-10-10T21:14:23.153 回答