iBatisNet分布式事务的应用 MS SQL2008。

所谓分布式事务,即多台数据库服务器在一个事务中运行,因此至少两台及以上的数据库服务器。

一、所有数据库服务器必须配置好MSDTC。

如何配置请大家搜索“MSDTC配置”即可。

大至的配置为:

1、开启135端口

2、c:\windows\system32\msdtc.exe设置防火墙为例外

3、开启“MSDTC”

运行:dcomcnfg.exe

组件服务-》我的电脑-》Distributed Transaction Coordinator-》右键"本地DTC"-》安全(所有的必须钩上、帐户名最好使用“NT AUTHORITY\NetworkService”)

4、进入WIDNOWS服务管理开启一些必要的服务

开启:Distributed Transaction Coordinator、Distributed Link Tracking Client、MSSQL服务、MSSQL代理服务

5、启动MSDTC

开始-》运行-》CMD-》net start msdtc

6、数据库开启分布式事务

数据库属性-》连接-》钩上“需要将分布式事务用于服务器到服务器的通讯”

二、代码部分

using IBatisNet.Common.Transaction;

        /// <summary>
        /// 分布式事务示例
        /// </summary>
        public static void InsertTransactionScpeTest()
        {
            try
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                   //注:以下多个为链接多个数据库服务器。
                    插入A数据库方法();                    插入B数据库方法();
                    transaction.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
时间: 2024-10-04 04:34:15

iBatisNet分布式事务的应用 MS SQL2008。的相关文章

群集中的MS DTC分布式事务协调器

MS DTC在大多数SQL 服务器下都需要安装,若只是安装数据库引擎或Analysis 服务可不安装DTC.如果后需要使用分布式事务,则可在SQL Server群集安装完成后再安装DTC. 一.群集MS DTC安装 与正常添加群集服务类似在故障转移管理器,右击服务和应用程序à配置服务和应用程序. 需要为DTC分配IP.如下图所示,此为跨子网群集,因此要在配置两个虚拟IP. 在安装DTC的时候最好的做法是使用独立的共享磁盘,以免DTC数据影响数据库存储磁盘数据的使用.如下图所示 二.MS DTC故

spring boot 分布式事务解决方案LCN

对比LCN和saga(华为apache孵化器项目) ,LCN使用代理连接池封装补偿方法,saga需要手工写补偿方法,相对来说LCN使用更加方便. 参考官方地址: https://github.com/codingapi/tx-lcn/wiki/TxManager%E5%90%AF%E5%8A%A8%E8%AF%B4%E6%98%8E 1.    原理 1.     事务控制原理 LCN事务控制原理是由事务模块TxClient下的代理连接池与TxManager的协调配合完成的事务协调控制. TxC

SEATA 分布式事务入门DEMO

Simple Extensible Autonomous Transacation Architecture,seata是简单的.可扩展.自主性高的分布式架构 SEATA Server Configure 因我们使用正式的1.0.0-GA 版本,网上大多数找到的说明都是0.X版本,有不少变动,比如,在server中取消了db_store.sql的脚本,如找不到相关内容,可以通过源码来查找,比如db脚本源码:mysql db script 下载 seata-server 创建数据库(seata),

XA分布式事务

XA分布式事务 XA XA协议由Tuxedo首先提出的,并交给X/Open组织,作为资源管理器(数据库)与事务管理器的接口标准.目前,Oracle.Informix.DB2和Sybase等各大数据库厂家都提供对XA的支持.XA协议采用两阶段提交方式来管理分布式事务.XA接口提供资源管理器与事务管理器之间进行通信的标准接口.XA协议包括两套函数,以xa_开头的及以ax_开头的 简介编辑 取决于上下文, XA 有多种意思. 我们常见的数据库连接交易中的 XA 是指由 X/Open 组织提出的分布式交

浅谈分布式事务

前言应用场景 事务必须满足传统事务的特性,即原子性,一致性,分离性和持久性.但是分布式事务处理过程中, 某些场地比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证? 在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费吧,怎么保证? 一 本地事务以用户A转账用户B为例,假设有 用户A账户表:A(id,userId,amount) 用户B账户表:B(id,userId,amount

聊聊分布式事务

聊聊分布式事务 2017-04-15 数据库开发 (点击上方公众号,可快速关注) 作者:员海滨 nickid.cn/2017/04/分布式事务/ 如有好文章投稿,请点击 → 这里了解详情 分布式事务场景如何设计系统架构及解决数据一致性问题,个人理解最终方案把握以下原则就可以了,那就是:大事务=小事务(原子事务)+异步(消息通知),解决分布式事务的最好办法其实就是不考虑分布式事务,将一个大的业务进行拆分,整个大的业务流程,转化成若干个小的业务流程,然后通过设计补偿流程从而考虑最终一致性. 什么是事

使用事件和消息队列实现分布式事务(转+补充)

虽然本文并非笔者原创,但是我们在非强依赖的事务中原理上也是采用这种方式处理的,不过因为没有仔细去总结,最近在整理和总结时看到了,故转载并做部分根据我们实际情况的完善和补充. 不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个数据源之间进行多次等待. 有一

java分布式事务

原文地址:http://blog.csdn.net/moonpure/article/details/52779794 在本系列先前的文章中,我们主要讲解了JDBC对本地事务的处理,本篇文章将讲到一个分布式事务的例子. 请通过以下方式下载github源代码: git clone https://github.com/davenkin/jta-atomikos-hibernate-activemq.git 本地事务和分布式事务的区别在于:本地事务只用于处理单一数据源事务(比如单个数据库),分布式事

分布式事务 解决方案

事务的概念来源于业务过程.在许多情况下我们都希望能够确保在一个过程中执行的所有操作是完全成功的.在集中式系统中,事务被广泛用于服务器端和数据库系统,控制数据的操作.随着分布式计算的发展,事务在分布式计算领域中也得到了广泛的应用,但是分布式系统架构中,分布式事务问题是一个绕不过去的挑战.而微服务架构的流行,让分布式事问题日益突出! 下面我们以电商购物支付流程中,在各大参与者系统中可能会遇到分布式事务问题的场景进行详细的分析! 如上图所示,假设三大参与平台(电商平台.支付平台.银行)的系统都做了分布