我一直在尝试将TransactionScope与DB2数据库(使用DB2 .Net provider v 9.0.0.2 和 c# 2.0)一起使用,IBM 应该支持它。
我已经尝试了所有可以在 IBM 论坛(例如此处)上找到的建议,但均无济于事。
我在我的 XP Sp2 机器上启用了 XA 事务,也在 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。为 XA 资源管理器 DLL 调用 LOADLIBRARY 失败:DLL=C:\APPS\IBM\DB2v95fp2\SQLLIB\BIN\DB2APP.DLL File=d:\comxp_sp2\com\com1x\dtc\dtc\xatm\src\xarmconn .cpp 行=2467。
此外,授予 NETWORK SERVICE 用户对该文件夹和 dll 的完全权限。
这是 MSDTC 启动消息
MS DTC 使用以下设置开始:
安全配置(OFF = 0 和 ON = 1):事务的网络管理 = 0,网络客户端 = 0,使用本机 MSDTC 协议的入站分布式事务 = 0,使用本机 MSDTC 协议的出站分布式事务 = 0,事务 Internet 协议 (TIP) = 0,XA 交易 = 1
任何帮助将非常感激!
谢谢,弗洛林