環境: 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:從零開始的軟體開發生活」
請大家繼續支持 ^_^