Biztalk开发中解决“新事务不能登记到指定的事务处理器中”问题

来源:互联网 发布:js前端压缩成zip包 编辑:程序博客网 时间:2024/04/30 06:46

在Biztalk开发中使用SQL适配器的时候,如果BizTalk与连接的SQLServer并不在同一台机器上(一般生产环境都是如此),就往往会遇到“新事务不能登记到指定的事务处理器中”错误出现,几经周折,终于这个问题对于我所使用的开发环境被解决了,希望下面的一些方法能对同是BizTalk学习开发的同志们有所帮助:

1:(非常重要)
   确保 BizTalk 和 SQLServer所在计算机都能互相通过计算机名PING通(注意一定要通过计算机名PING到对方的真实IP地址,由于DNS解析的问题很可能 PING 到的是网络上同名的其他计算机!)如果不行则修改双方的windows/system32/drives/etc/hosts文件,在新行添加目标机器的IP地址和计算机名一般就可以PING通。

2:确保BizTalk和SQLServer所在计算机上的MSDTC服务都已经启动:可以通过在命令行输入“services.msc”,然后在服务列表中找到“Distributed Transaction Coordinator”来启动服务。

3:如果是Windows2003操作系统,要对两台计算机的MSDTC分别进行设置:在命令行输入“dcomcnfg”打开组件服务配置窗口,依次展开“组件服务”--“计算机”,然后在右边窗口内“我的电脑”上点右键,选择“属性”,“MSDTC”选项卡,单击“安全配置”,在“安全设置”栏目里选中“网络DTC访问”、“允许远程客户端”、“允许远程管理”、“允许入站”、“允许出站”、“不要求进行验证”、“启用XA事务”,最后“确定”,如图:

MSDTC配置

4:如果BizTalk和SQLServer所在计算机都开启了防火墙,可以关闭防火墙(太危险)或者确保两边的防火墙都允许MSDTC通过,需要打开的端口是TCP135(RPC),并允许“Windows/system32/msdtc.exe”程序通过。
 

原创粉丝点击