2008-10-10 45 views
2

我遇到了使用MSDTC和Oracle的問題。這是一個.net應用程序,我使用TransactionScope類來控制事務。中止之後MSDTC和Oracle事務鎖定被調用?

問題是,有時候,如果事務回滾(scope.Dispose被調用時沒有調用scope.Complete),它會長時間處於「Aborting」狀態,而不會釋放鎖定的記錄。即使事務處於「正在中止」狀態,當調用Dispose來中止事務時,它將立即返回,因此線程不會卡住。

有誰知道什麼可能會導致事務行爲像這樣並保持中止後的鎖被稱爲?

感謝

回答

1

使用用於Oracle的Microsoft數據提供程序時有一些已知的周圍使用分佈式事務的問題。

如果您正在使用它,請嘗試切換到ODP.NET供應商,該供應商應該解決您的交易問題。

+0

使用ODP.NET改變了行爲,但沒有解決問題。現在,某些事務處於「準備」狀態,實際上阻止了調用線程。 – Giovani 2008-10-28 15:27:08