我有一个 COM+ 应用程序(主要基于 vb6),我需要在 64 位系统上运行。它应该与 Oracle 数据库(10g,32 位)通信。当我禁用 XA 时一切正常,但是当我启用它时,我收到以下错误;
XA 事务管理器调用 XA 资源管理器 DLL 中的“GetXaSwitch”函数。调用“GetXaSwitch”函数失败:File=d:\nt\com\complus\dtc\dtc\xatm\src\xarmconn.cpp Line=2503。
我的 oracle 客户端是 10g 32 位的。
我不太了解 32 位/64 位兼容性,但我确实看到我的应用程序正在调用位于注册表 WOW64 部分 ([hklm/software/wow6432node/microsoft/msdtc/mtxoci]) 中的 MSDTC dll,而它访问位于注册表的本机 64 位部分中的 XADLL ([hklm/software/microsoft/msdtc/xadll])
因此,我尝试将其中的引用更改为 32 位 dll,但它们不会加载。
有没有人对如何解决这个错误有任何想法?