DB Query Analyzer中的事务管理在DB2中的应用
????????????????? DB Query Analyzer中的事務管理在DB2中的應用
???????????????????????????????????????????????????????????????????????????????????? 馬根峰
???????????????????????????????????? ( 廣東聯(lián)合電子收費股份有限公司, 廣州 510300)
?
摘要????? 事務控制是數(shù)據(jù)庫應用系統(tǒng)中的關鍵技術之一,概述了事務控制的概念以及《DB Query Analyzer》中的事務控制,以一個具體的實例,給出《DB Query Analyzer》中的事務控制在DB2中的使用方法。
關鍵詞??? DB Query Analyzer;事務控制;DB2?
?
The? Application of the transactions control in DB2 with DB Query Analyzer
???????????????????????????????????????????????????????? ?MA Gen-feng??
???????????( GuangDong Unitoll collection incorporated, GuangZhou 510300)
Abstract?? ??Transaction control is one of the key technology in the database application system. Firstly, the thesis give? a? brief introduction to the? conception of the transaction control and the transaction control in DB2 with DB Query Analyzer. Because DB Query Analyzer is a tools for all RDBMS, It is the same way like in DB2 if you process tractions in the other RDBMS except DB2.
Key words ??DB Query Analyzer;Transaction control;DB2
?
?
?
1?????引言?????????????
???????? 在數(shù)據(jù)庫維護、管理的時候,經(jīng)常要用到數(shù)據(jù)庫的記錄的修改、刪除,并且從數(shù)據(jù)安全角度考慮,只有在確認操作無誤后,才向DBMS提交。這就要使用到DBMS的事務管理。
???????? 而《DB Query Analyzer》,作為《萬能數(shù)據(jù)庫查詢分析器》的英文版本,它基于Windows系統(tǒng)操作系統(tǒng),支持Windows7、Vista等Windows操作系統(tǒng)。由于《DB Query Analyzer》具有的強大功能、友好的操作界面、良好的操作性、跨越數(shù)據(jù)庫平臺的諸多優(yōu)點,使得使用它來進行各種關系數(shù)據(jù)庫系統(tǒng)的維護、管理與開發(fā)變得非常輕松。
???????? 下面我們就通過具體的實例來介紹如何使用《DB Query Analyzer》來進行事務管理。由于《DB Query Analyzer》是一種跨數(shù)據(jù)庫平臺的產(chǎn)品,所以對于在其它關系數(shù)據(jù)庫系統(tǒng)中的事務管理,類同于本文中的實例。
?
?
2??????事務控制方式
2.1???? 事務控制
???????? 《DB Query Analyzer》支持兩種事務管理模式:
??????? (1) 自動提交事務:用戶不用對事務進行管理,由后臺數(shù)據(jù)庫對事務進行管理。平時絕大多數(shù)情況下,用戶都是采用這種模式。如在進行數(shù)據(jù)刪除時,執(zhí)行完DELETE后,記錄就被刪除。
??????? (2) 手工管理事務:用戶自己對事務進行管理。用戶通過參數(shù)設置可以將事務控制設置為手工管理事務,這樣在《DB Query Analyzer》中執(zhí)行的SQL語句都不會提交,只有在《DB Query Analyzer》中“事務管理”時提交事務,所有的更新與修改才會生效。
?
?
2.2?????在DB Query Analyzer中設置事務管理為手工管理模式
???????? 點擊 “Tools”下的“Configuration” 菜單,取消選項“Transaction auto commit”的選中狀態(tài)。并新建窗口2。這時在狀態(tài)欄中“Transaction autocommit”已經(jīng)變成“Off”,見圖1、圖2所示
??
?
????????????????????????????????????????????????????????圖1?? 設置事務提交方式
?
?
?
????????????????????????????????????????????????????????圖2?? 打開新的窗口,采用手工提交事務的模式
?
?
?
3?????事務控制演示
???????? 下面我們就以《DB Query Analyzer》在DB2中的事務管理為例,向大家介紹一下《DB Query Analyzer》中的事務管理。
?
3.1?????修改表TB_AREA之前表中的記錄
???????? 首先,我們要查詢修改DEVELOP模式下修改前表TB_AREA的記錄,如圖3所示
?
?
?????????????????????????????????????????????????????????圖3?? 修改前表TB_AREA中的記錄
?
?
?
3.2?????修改表TB_AREA中的記錄
???????? 接著,我們在手工提交事務的窗口2,修改表TB_AREA中的記錄,將“測試區(qū)域”的AREASERVERIP值由“ 10.10.10.10”改為“11.11.11.11”,并以只讀鎖來訪問表TB_AREA,可以看到窗口2中記錄已發(fā)生了變化,如圖4所示;而再執(zhí)行窗口1中的查詢語句,由于查詢時沒有加R(只讀鎖)則查詢不到結(jié)果,表明表TB_AREA中有未提交的事務,如圖5所示。
?
?
????????????????????????????????????????????????????????圖4?? 修改表TB_AREA中的記錄
?
?
?
?
????????????????????????????????????????????????????????圖5?? 表TB_AREA中有未提交或回退事務,所以在其它會話中只能以R鎖來查詢該表
?
?
3.3?????取消事務
???????? 切換至窗口2,點擊菜單“Query”中的“Transaction Manager”,系統(tǒng)會彈出一個消息框。提示當前窗口中可能存在事務,提交事務,請點擊是,回滾事務請點擊否;什么都不做點擊取消,如下圖所示:
?
?
????????????????????????????????????????????????????????圖6?? 事務管理提示
?
?
???????? 在此,我們點擊否,取消剛才的修改操作。在窗口1執(zhí)行查詢,發(fā)現(xiàn)表TB_AREA中“測試區(qū)域”的AREASERVERIP值還是“10.10.10.10”,如圖7所示
?
?
????????????????????????????????????????????????????????圖7?? 回滾事務后進行的查詢
?
?
?
3.4?????提交事務
???????? 重做3.2步驟來修改記錄,然后再切換至窗口2,點擊菜單“查詢”中的“事務管理”,并點擊是來提交事務(參見圖5)。
然后在窗口1中執(zhí)行查詢,發(fā)現(xiàn)表TB_AREA中“測試區(qū)域”的AREASERVERIP值改為“11.11.11.11”,如下圖所示:
?
?
????????????????????????????????????????????????????????圖8?? 提交事務后進行的查詢
?
?
?
?
4?????結(jié)束語
???????? 事務管理是數(shù)據(jù)庫維護、管理、開發(fā)的過程中經(jīng)常要使用的操作。每一個程序員都希望方便、安全地進行數(shù)據(jù)庫的事務操作,而《DB Query Analyzer》則正是滿足了這種要求。
?
?
????????????????????????????????? 參考文獻:
[1]? 張龍祥,黃正端,陶影? · 數(shù)據(jù)庫原理與設計 · 成都:西南交通大學出版社,1995.
[2]? 馬根峰 · ActiveX數(shù)據(jù)對象之事務控制在VB和DELPHI中的應用· 鄭州:信息工程大學學報2001.
[3]? 馬根峰 · 萬能數(shù)據(jù)庫查詢分析器中的事務管理在Oracle中的應用· 上海:微型電腦應用2008.
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuyida/archive/2012/01/15/6300836.html
總結(jié)
以上是生活随笔為你收集整理的DB Query Analyzer中的事务管理在DB2中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmete 学习--基础之名词解释
- 下一篇: DB2的下载、安装