Я пытался использовать TransactionScope с базой данных DB2 (с использованием поставщика DB2 .Net v 9.0.0.2 и c # 2.0), который ДОЛЖЕН быть поддерживается в соответствии с IBM.
Я испробовал все советы, которые смог найти на форумах IBM (например, здесь ), но безрезультатно.
Я включил транзакции XA на моей машине с XP Sp2, пробовал также с машины с Win 2003 Server, но я постоянно получаю печально известную ошибку:
ERROR [58005] [IBM][DB2/NT] SQL0998N Error occurred during
транзакция или эвристическая обработка.
Код причины = "16". Субкод =
"2-80004005". SQLSTATE = 58005
В журнале событий Windows написано:
The XA Transaction Manager attempted to load the XA resource
менеджер DLL. Звонок в LOADLIBRARY
для библиотеки диспетчера ресурсов XA
не удалось:
DLL = C: \ APPS \ IBM \ DB2v95fp2 \ SQLLIB \ BIN \ db2app.dll
Файл = D: \ comxp_sp2 \ ком \ com1x \ DTC \ DTC \ XATM \ SRC \ xarmconn.cpp
Линия = 2467.
Также, пользователю NETWORK SERVICE предоставлены полные права на папку и dll.
Вот сообщение о запуске MSDTC
MS DTC начался со следующего
Настройки:
Конфигурация безопасности (OFF = 0 и
ON = 1):
Сетевое администрирование транзакций = 0,
Сетевые клиенты = 0,
Входящие распределенные транзакции с использованием собственного протокола MSDTC = 0,
Распределенные исходящие транзакции с использованием собственного MSDTC
Протокол = 0,
Транзакционный интернет-протокол (TIP) = 0,
Транзакции XA = 1
Любая помощь будет принята с благодарностью!
Спасибо,
Флорин