在多个数据库中使用事务

时间:2013-02-11 06:54:09

标签: c# sql-server transactions

的SqlTransaction

我正在尝试插入多个数据库中的表,我希望其中一个不执行,所有的stetement都是rooleback。 我想使用sql事务,但我不知道如何在c#中使用sql transaction和transactionscope 我的交易范围

   try
    {
     using (tScope = new TransactionScope(TransactionScopeOption.Required,TOption))
      {

      ConAcnt.open();
     SqlCommand Com1 = new SqlCommand("INSERT",ConAcnt);
      Com1.ExecuteNonQuery();

      ConBase.open();
     Com2 = new SqlCommand("INSERT",ConBase);   
      Com2.ExecuteNonQuery();
       tScope.Complete();
      }

 catch (Exception ex)
{
    tScope.Dispose();                            

}


   }  

我想当com2没有执行时,com1是rooleback,但提交事务,com2是执行而com1不保存在db

1 个答案:

答案 0 :(得分:1)

您可能需要Distributed Transactions