我在發出SqliteConnection BeginTransaction()調用後想知道點保留鎖是否啓動並阻止寫操作?Sqlite事務 - 保留鎖何時生效
保留鎖是否對應於實際的BeginTransaction調用,還是僅在調用Commit並且事務運行後才執行?我想問一下b/c,爲了利用我現有的數據訪問層,並且不必每次都需要寫一個自定義事務來防止競爭條件,我就不想打電話給BeginTransaction(),然後調用現有選擇/插入/更新包裝的任意組合來解決手頭的問題,同時擁有獨佔寫入權限,然後最終調用Commit。爲了防止我試圖避免的競爭條件,我會要求在事務調用BeginTransaction時(即在它返回之前的某個時間),事務的保留鎖定「立即」激活。
如果需要更多的說明或細節,請告訴我,我很樂意爲您提供。非常感謝你的專業知識。
這個答案在這裏:http://sqlite.phxsoftware.com/forums/p/1157/4892.aspx解決這個問題,雖然B/C缺乏任何其他文件對此,一些確認這個事實或一些有關它的更多細節會很好。繼續我上面提到的解決方案,我需要對DAL進行重大修改,因此想要充分了解鎖的工作原理,以及BeginTransaction/Commit。再次感謝。 – samosaris 2013-03-26 20:14:12