C#中跨库事务控制
TransactionScope类是framework2.0 新增的一个类,在System.Transactions命名空间中,使用时必须先添加System.Transactions引用;另外还要在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动,启动这个服务.示例代码如下:
try { using (TransactionScope scope = new TransactionScope()) { //更新northwind数据库的Employees表 using (SqlConnection conOne = new SqlConnection("server=.;u)) { conOne.Open(); SqlCommand command = new SqlCommand("update Employees set lastname='chen' where employee", conOne); int i = command.ExecuteNonQuery(); } //更新pubs数据库的jobs表 using (SqlConnection conTwo = new SqlConnection("server=.;u)) { conTwo.Open(); SqlCommand command = new SqlCommand("update jobs set job_desc='chen' where job_", conTwo); int i = command.ExecuteNonQuery(); } scope.Complete(); //提交事物 } } catch (Exception ex) //发生异常后自动回滚 { //throw; }