2

我有一个 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,但它们不会加载。

有没有人对如何解决这个错误有任何想法?

4

1 回答 1

2

看起来这通常是权限问题(请参阅:http: //support.microsoft.com/kb/816633)。

于 2011-05-05T21:30:02.320 回答