2013-02-11 38 views
1

Sqltransaction

我想插入到多個數據庫中的表中,我想其中一個是不執行,所有stetement是rooleback。 我想使用SQL事務,但我不知道如何使用SQL事務和TransactionScope的在C# 我交易範圍使用多個數據庫中的交易

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

你需要爭取分佈式事務處理協調器 – 2013-02-11 07:18:16

+0

如何使用入伍? – Mary 2013-02-11 08:01:49

+0

目前發生了什麼?它看起來非常像這個應該已經工作。但是,您應該從中徹底移除TT:您已經通過'TransactionScope'處理了事務。那麼:最近編輯版本的代碼會發生什麼?徹底刪除'TT' /'tt'。 – 2013-02-11 08:03:45

回答