DB Query Analyzer中的事务管理在DB2中的应用

来源:互联网 发布:js 计算时间间隔 毫秒 编辑:程序博客网 时间:2024/05/01 08:30

                  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  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

 

 

 

    引言             

         在数据库维护、管理的时候,经常要用到数据库的记录的修改、删除,并且从数据安全角度考虑,只有在确认操作无误后,才向DBMS提交。这就要使用到DBMS的事务管理。

        而《DB Query Analyzer》,作为《万能数据库查询分析器》的英文版本,它基于Windows系统操作系统,支持Windows7、Vista等Windows操作系统。由于《DB Query Analyzer》具有的强大功能、友好的操作界面、良好的操作性、跨越数据库平台的诸多优点,使得使用它来进行各种关系数据库系统的维护、管理与开发变得非常轻松。

        下面我们就通过具体的实例来介绍如何使用《DB Query Analyzer》来进行事务管理。由于《DB Query Analyzer》是一种跨数据库平台的产品,所以对于在其它关系数据库系统中的事务管理,类同于本文中的实例。

 

 

     事务控制方式

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   打开新的窗口,采用手工提交事务的模式

 

 

 

    事务控制演示

        下面我们就以《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   提交事务后进行的查询

 

 

 

 

    结束语

        事务管理是数据库维护、管理、开发的过程中经常要使用的操作。每一个程序员都希望方便、安全地进行数据库的事务操作,而《DB Query Analyzer》则正是满足了这种要求。

 

 

                                  参考文献:

[1]  张龙祥,黄正端,陶影  · 数据库原理与设计 · 成都:西南交通大学出版社,1995.

[2]  马根峰 · ActiveX数据对象之事务控制在VB和DELPHI中的应用· 郑州:信息工程大学学报2001.

[3]  马根峰 · 万能数据库查询分析器中的事务管理在Oracle中的应用· 上海:微型电脑应用2008.

 

 

原创粉丝点击