国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频

以文本方式查看主題

-  曙海教育集團論壇  (http://www.hkzrsy.com/bbs/index.asp)
--  SQL Server數據庫  (http://www.hkzrsy.com/bbs/list.asp?boardid=67)
----  數據庫事務控制的實現位置:服務器VS客戶端,請大家討論  (http://www.hkzrsy.com/bbs/dispbbs.asp?boardid=67&id=2523)

--  作者:wangxinxin
--  發布時間:2010-12-13 13:13:08
--  數據庫事務控制的實現位置:服務器VS客戶端,請大家討論
這段時間開始有幸學習了ado.net訪問數據庫的一些內容。我開始思考一個有關數據庫事務控制的問題。ado.net中的SqlTransaction 類可以為數據庫訪問提供事務的支持。你可以打開一個數據庫聯接,然后在這個聯接上啟動一個事務(啟動事務相當于T-SQL的begin transaction語句),在這個啟動了事務的數據庫聯接上你可以添加并執行若干數據庫訪問命令,然后根據命令的執行情況決定提交或者回滾事務。這使得通過ado.net訪問數據庫的應用程序可以實現數據庫的事務控制。

另一方面,T-SQL同樣提供了數據庫的事務控制,這是眾所周知的。通常,數據庫設計人員常說,把數據的訪問控制放在離數據最近的地方才是最安全的,比如我們設計數據庫時,在數據表上實現的唯一約束、check約束、觸發器等等都是基于這種設計思想的。類似ado.net這種的數據庫訪問技術也提供了對數據庫事務的支持,但是按照“把數據的訪問控制放在離數據最近的地方才是最安全的”的思想,我們有更好的選擇方式。比如,我們可以設計數據庫存儲過程,由存儲過程提供事務控制,并只允許數據庫客戶端訪問數據庫時去執行存儲過程。這樣一來,似乎就沒有使用ado.net、ado、oledb等等這些數據庫訪問技術提供的支持事務的API接口的必要了。但是,我想未必是這樣的,既然有這些API接口存在,肯定是有它的必要性的。

我現在想讓大家討論一下,你們在實際應用中使用過某種數據庫訪問技術的事務功能嗎?這種應用是在什么請況下比較有價值呢?

主站蜘蛛池模板: 高雄市| 峨眉山市| 廉江市| 宜黄县| 临湘市| 万源市| 滁州市| 长岭县| 巴楚县| 若羌县| 红安县| 庄河市| 佛山市| 建始县| 黔西| 大兴区| 太康县| 新干县| 德惠市| 建宁县| 邢台市| 民县| 闵行区| 比如县| 华容县| 连南| 淄博市| 正蓝旗| 托里县| 锦州市| 巴塘县| 澳门| 大姚县| 禹州市| 石柱| 兰坪| 贺兰县| 稻城县| 永丰县| 盱眙县| 延庆县|