2011-04-07 97 views
2

我有一個COM +應用程序(主要是基於vb6的),我需要在64位系統上運行。它應該與oracle數據庫(10g,32位)通信。一切正常,當我禁用XA,但是當我有它啓用我收到以下錯誤;在64位Win2k3上使用MSDTC/oracle XA的32位DLL

XA事務管理器調用的XA 資源管理器DLL的 「GetXaSwitch」 功能。 「GetXaSwitch」函數調用失敗: File = d:\ nt \ com \ complus \ dtc \ dtc \ xatm \ src \ xarmconn.cpp Line = 2503。

我的oracle客戶端是10g 32位。

我對32位/ 64位的兼容性知之甚少,但我確實看到我的應用程序正在調用位於註冊表WOW64部分的MSDTC DLL([hklm/software/wow6432node/microsoft/msdtc/mtxoci ]),而它訪問位於註冊表本地64位部分的XADLL([hklm/software/microsoft/msdtc/xadll])

所以我試圖改變那裏的引用是32位DLL,但他們不會加載。

有沒有人有任何想法如何解決這個錯誤?

回答

2

看起來像這通常可能是一個權限問題(請參閱:http://support.microsoft.com/kb/816633)。

+0

欣賞輸入,但它似乎不是關於權限。我已經在32位系統上覆制了系統,並且運行良好。在我的測試系統上授予權利時,我也是超級自由的,所以應該包括在內。 – cc0 2011-05-09 11:29:20