人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

如何在.NET中完成事務(wù)(2)

如何在.NET中完成事務(wù)(2)

更新時間:2022-06-25 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

并發(fā)問題



如果沒有鎖定且多個用戶同時訪問一個數(shù)據(jù)庫,則當他們的事務(wù)同時使用相同的數(shù)據(jù)時可能會發(fā)生問題。并發(fā)問題包括: 丟失或覆蓋更新,未確認的相關(guān)性(臟讀),不一致的分析(非重復(fù)讀),幻像讀。但是如何來避免數(shù)據(jù)讀取時臟讀等問題出現(xiàn)呢?這里簡單介紹一下:

在SQL Server數(shù)據(jù)庫中,提供四種隔離級別:未提交讀、提交讀、可重復(fù)讀、可串行讀。這四種隔離級別可以不同程度地保證并發(fā)的數(shù)據(jù)完整性: 

隔離級別
臟 讀
不可重復(fù)讀取
幻 像

未提交讀




提交讀




可重復(fù)讀




可串行讀





其中第二項為默認,而在.net框架中,同樣支持事務(wù)的隔離級別。我們可以通過System.Data.IsolationLevel 來實現(xiàn): public virtual IsolationLevel IsolationLevel {get;}

其成員及相應(yīng)的含義如下: 



成員名稱
說明


Chaos

受 .NET Framework 精簡版的支持。
無法改寫隔離級別更高的事務(wù)中的掛起的更改。
16

ReadCommitted

受 .NET Framework 精簡版的支持。
在正在讀取數(shù)據(jù)時保持共享鎖,以避免臟讀,但是在事務(wù)結(jié)束之前可以更改數(shù)據(jù),從而導(dǎo)致不可重復(fù)的讀取或幻像數(shù)據(jù)。
4096

ReadUncommitted

受 .NET Framework 精簡版的支持。
可以進行臟讀,意思是說,不發(fā)布共享鎖,也不接受獨占鎖。
256

RepeatableRead

受 .NET Framework 精簡版的支持。
在查詢中使用的所有數(shù)據(jù)上放置鎖,以防止其他用戶更新這些數(shù)據(jù)。防止不可重復(fù)的讀取,但是仍可以有幻像行。
65536

Serializable

受 .NET Framework 精簡版的支持。
在 DataSet 上放置范圍鎖,以防止在事務(wù)完成之前由其他用戶更新行或向數(shù)據(jù)集中插入行。
1048576

Unspecified

受 .NET Framework 精簡版的支持。
正在使用與指定隔離級別不同的隔離級別,但是無法確定該級別。
-1




顯而意見,數(shù)據(jù)庫的四個隔離級別在這里都有映射。在這里,SqlTransaction以及OleDbTransaction等事務(wù)的 IsolationLevel 默認值為 ReadCommitted。那么我們?nèi)绾问褂媚兀?可以使用下面方法實現(xiàn):

trans = cnNorthwind.BeginTransaction( _
IsolationLevel.Serializ

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 清水河县| 若羌县| 安国市| 册亨县| 丹江口市| 惠州市| 东阿县| 福安市| 宣武区| 浪卡子县| 阿克陶县| 景洪市| 新泰市| 泽普县| 福建省| 彭阳县| 七台河市| 武安市| 彰武县| 邵阳市| 乐山市| 报价| 扎赉特旗| 丹寨县| 沾益县| 建水县| 罗平县| 连州市| 营山县| 卫辉市| 溧水县| 门头沟区| 龙胜| 凌云县| 蓝山县| 黄浦区| 永兴县| 阿巴嘎旗| 临湘市| 榆社县| 贺州市|