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