所谓分布式事务,即多台数据库服务器在一个事务中运行,因此至少两台及以上的数据库服务器。
一、所有数据库服务器必须配置好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;
}
}