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

时间:2024-11-11 12:05:44

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

一、所有数据库服务器必须配置好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;
}
}