[Oracle]ORA-24798: cannot resume the distributed transaction branch on another instance

環境: Oracle RAC

最近系統在呼叫一個 Method 會發生以下的錯誤,

ORA-24798: cannot resume the distributed transaction branch on another instance

Could not get ADO.NET connection. ---> System.Data.OracleClient.OracleException

程式中有2個地方去Call 資料庫,

第1個Call DB的地方是OK的,第2個地方就發生了那個錯誤。

詢問同事 John 大大,他的回答是,

因為環境是 Oracle RAC ,

所以使用  System.Data.OracleClient 不 Support  RAC架構,

建議要使用有支援RAC架構的Oracle Data Provider或是Oracle JDBC driver,

或是應用程式只固定連線RAC的其中一個instance也可以解決問題。

後來同事 德哥 改用 Oracle.DataAccess.Client ,目前看起來就OK了。

感謝同事 John, Bobby, David, 史哥,德哥,Skyer 的幫忙。

 

現在 Access Oracle 真的要用 Oracle 提供的 DLL,

之前使用 System.Data.OracleClient 去取資料時,還發生過原本資料有10個字,但取回來的都只會有 5 個字。

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^