错误“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”解决方案
来源:互联网 发布:unix网络编程百度云 编辑:程序博客网 时间:2024/05/17 09:14
背景:为某医院做一个药房接口,需要两台服务器数据库之间互通数据,暂时定位为HIS服务器和药房服务器。其中HIS服务器为2008操作系统,药房服务器为WIN7系统。两台服务器安装的数据库都为SQL SERVER 2008 R2。
数据互通原理:通过HIS服务器的存储过程往药房服务器数据库中写入数据,并且调用药房服务器的某个存储过程,取得药房服务器存储过程执行后的返回值,并插入到HIS服务器相应的表中。
出现的错误:入下图所示
解决此问题的过程:
百度此问题后,出现了好多的解决方法,原因是存储过程互通用到了分布式事务,但无非是如下几点:MSDTC服务没有启动,设置MSDTC服务的安全访问。经过多种尝试,一直没有得到问题解决,后经过多次失败尝试,终于执行成功,下面将需要配置的地方写出来,供以后参考。
在双方创建链接服务器,语句如下,也可手工创建
execsp_addlinkedserver 'srv_lnk','','SQLOLEDB','160.100.1.133'—其中IP地址根据自己需要来设置。Srv_lin就是链接服务器创建后的名称
execsp_addlinkedsrvlogin'srv_lnk','false',null,'myhis','iron123!'—myhis为链接服务器的登录用户名,Iron123!为登录的密码
execsp_serveroption'srv_lnk','rpcout','true' --这个允许调用链接服务器上的存储过程
因为药房的服务器为WIN7系统,可能比较特殊,对于其他的系统请自行摸索或者百度。首先在双方的服务器上都需要开启如下的服务。
然后需要:打开'控制面板'->'管理工具'->'组件服务',点开'组件服务'->'计算机'->'我的电脑',然后展开“我的电脑”,找到继续展开,在
本地DTC上右键,属性。作为数据库的服务器的配置如下:
在存储过程中,还需要添加下面一句代码。
SET XACT_ABORT ON
我在百度找到他的用法解释。
SET XACT_ABORT ON分为两种:
1、总体作为一个事务,整体提交或整体回滚,格式为:
SET XACT_ABORT ON
BEGIN TRAN
--要执行的语句
COMMIT TRAN
GO
2、每个语句作为一个事务,事务在错误行终止,错误行回滚,错误行之前的不回滚,格式为:
SET XACT_ABORT ON
BEGIN
--要执行的语句
END
GO
- 错误“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”解决方案
- TransactionScope异常:该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- TransactionScope异常:该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- 该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- SQL2K,DTC错误:"该伙伴事务管理器已经禁止了它对远程/网络事务的支持"的解决办法
- MSDTC"该伙伴事务管理器已经禁止了它对远程网络事务的支持"的错误(转)
- MSDTC"该伙伴事务管理器已经禁止了它对远程网络事务的支持"的错误(转)
- 关于分布式事务得示:该伙伴事务管理器已经禁止了它对远程/网络事务的支持!
- System.Transactions.TransactionException: 该伙伴事务管理器已经禁止了它对远程/网络事务的支持。
- sql server 发布订阅报错-该伙伴事务管理器已经禁止了它对远程/网络事务的支持
- sql 2005存储过程触发器出现 SQLNCLI" 返回了消息 "该伙伴事务管理器已经禁止了它对远程/网络事务的支持”解决
- 链接服务器 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "该伙伴事务管理器已经禁止了它对远程/网络事务的支持。"
- transaction manager has disabled its support for remote/network transactions. 该伙伴事务管理器已经禁止了它对远程/网络事务
- 令人尖叫的架构
- TCP三次握手详解及释放连接过程
- JavaMail邮件发送功能
- Linux 根文件系统中各个主要目录存放的内容
- docker下如何安装和使用gogs
- 错误“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”解决方案
- LeetCode 292 Nim Game
- Struts2系统学习(1)Struts2简介与环境搭建
- 配置Spring+hibernate使用ehcache作为second-level cache
- 园林广场设计原则
- Charles 抓包工具的简单使用
- 深入理解RunLoop
- system_dntb上传路径
- 归并排序(递归法)