<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團(tuán)論壇開發(fā)語言培訓(xùn)專區(qū)SQL Server數(shù)據(jù)庫 → 數(shù)據(jù)庫事務(wù)控制的實現(xiàn)位置:服務(wù)器VS客戶端,請大家討論


      共有7314人關(guān)注過本帖樹形打印

    主題:數(shù)據(jù)庫事務(wù)控制的實現(xiàn)位置:服務(wù)器VS客戶端,請大家討論

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    數(shù)據(jù)庫事務(wù)控制的實現(xiàn)位置:服務(wù)器VS客戶端,請大家討論  發(fā)帖心情 Post By:2010-12-13 13:13:08

    這段時間開始有幸學(xué)習(xí)了ado.net訪問數(shù)據(jù)庫的一些內(nèi)容。我開始思考一個有關(guān)數(shù)據(jù)庫事務(wù)控制的問題。ado.net中的SqlTransaction 類可以為數(shù)據(jù)庫訪問提供事務(wù)的支持。你可以打開一個數(shù)據(jù)庫聯(lián)接,然后在這個聯(lián)接上啟動一個事務(wù)(啟動事務(wù)相當(dāng)于T-SQL的begin transaction語句),在這個啟動了事務(wù)的數(shù)據(jù)庫聯(lián)接上你可以添加并執(zhí)行若干數(shù)據(jù)庫訪問命令,然后根據(jù)命令的執(zhí)行情況決定提交或者回滾事務(wù)。這使得通過ado.net訪問數(shù)據(jù)庫的應(yīng)用程序可以實現(xiàn)數(shù)據(jù)庫的事務(wù)控制。

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

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

    支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    數(shù)據(jù)庫事務(wù)控制的實現(xiàn)位置:服務(wù)器VS客戶端,請大家討論








    簽名