C 事務相關

2021-09-22 09:48:37 字數 1579 閱讀 6917

之前在程式中用到事務時,都是在儲存過程中建立事務來對資料進行控制,其實在c#中也有事務類。

1、dbtransaction類對資料庫訪問新增事務,它是對資料庫事務操作的基類,繼承此類的有:

system.object

system.marshalbyrefobject

system.data.common.dbtransaction

system.data.entityclient.entitytransaction

system.data.odbc.odbctransaction

system.data.oledb.oledbtransaction

system.data.oracleclient.oracletransaction

system.data.sqlclient.sqltransaction

2、system.transactions命名空間下有兩個類也可以用來事務的操作

分別是 transactionscope和committabletransaction(繼承自system.transactions.transaction)

在使用system.transactions所提供的類開發事務應用程式時,不必考慮需要使用哪種事務,也不必考慮所涉及的事務管理器。system.transactions基礎結構會自動管理這些事宜。

system.transactions命名空間中的類所提供的基礎結構通過支援在 sql server、ado.net、訊息佇列 (msmq) 和 microsoft 分布式事務協調器 (msdtc) 中啟動的事務,使事務程式設計變得簡單和高效。system.transactions命名空間提供基於 transaction 類的顯式程式設計模型和使用 transactionscope 類的隱式程式設計模型,在後一種模型中,事務由該基礎結構自動管理。

system.transactions命名空間提供了兩種用於建立事務的模型。下列主題對這兩種模型進行了介紹。

使用事務範圍實現隱式事務

描述system.transactions命名空間如何支援使用transactionscope類建立隱式事務。

使用 committabletransaction 執行顯式事務

描述system.transactions命名空間如何支援使用 committabletransaction 類建立顯式事務。

transactionscope是.net framework 2.0滯後,新增了乙個命名空間。它的用途是為資料庫訪問提供了乙個「輕量級」[區別於:sqltransaction]的事物。使用之前必須新增對 system.transactions.dll 的引用。

transactionscope 類提供了一種簡單方法,無需與事務自身進行互動,就可以在參與事務時對**塊進行標記。事務範圍可以自動選擇和管理環境事務。由於transactionscope具有簡單易用性和高效性,因此在開發事務應用程式時優先使用該類。

C 事務相關

之前在程式中用到事務時,都是在儲存過程中建立事務來對資料進行控制,其實在c 中也有事務類。1 dbtransaction類對資料庫訪問新增事務,它是對資料庫事務操作的基類,繼承此類的有 system.object system.marshalbyrefobject system.data.commo...

長事務相關

長事務是informix的乙個非常重要的機制,該機制如果處理不好必將非常嚴重的影響資料庫的效能和使用。其他資料庫貌似沒有類似的問題。長事務出現的根源是乙個事務跨越的邏輯日誌檔案的數量和全部邏輯日誌檔案的數量比例控制的不好。先說乙個事務跨越的邏輯日誌檔案的數量,該數量的大小依賴於兩個方面 1 事務不大...

事務 相關問題

需要事物的方法需要加註解 transactional spring中 transactional 預設在發生runtimeexception時觸發事物 解決辦法 當發生exception時觸發異常 進行回滾 transactional rollbackfor exception.class 類似問題...