У меня есть приложение COM + (в основном на базе vb6), которое мне нужно запустить в 64-битной системе. Он должен связываться с базой данных оракула (10g, 32bit). Все работает нормально, когда я отключаю XA, но когда я его включаю, я получаю следующую ошибку:
Диспетчер транзакций XA называется
Функция «GetXaSwitch» в XA
менеджер ресурсов DLL. Призыв к
Сбой функции «GetXaSwitch»:
Файл = d: \ NT \ ком \ Complus \ DTC \ DTC \ XATM \ SRC \ xarmconn.cpp
Линия = 2503.
Мой клиент-оракул 10g 32-битный.
Я не знаю много о 32-битной / 64-битной совместимости, но я вижу, что мое приложение вызывает библиотеки MSDTC, расположенные в части реестра WOW64 ([hklm / software / wow6432node / microsoft / msdtc / mtxoci] ), пока он обращается к XADLL, расположенному в собственной 64-битной части реестра ([hklm / software / microsoft / msdtc / xadll])
Поэтому я попытался изменить ссылки на 32-битные библиотеки DLL, но тогда они не загружались.
У кого-нибудь есть идеи, как исправить эту ошибку?