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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

servlet返回数据给html_Servlet 简介

Servlet 简介 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作…

linux 64位 寻址空间_Ubuntu 20.04(64位)如何配置gcc-3.4用于编译linux-0.11

首先下载gcc-3.4地址:http://old-releases.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/下载三个文件,分别是cpp-3.4_3.4.6-6ubuntu2_amd64.debgcc-3.4-base_3.4.6-6ubuntu2_amd64.debgcc-3.4_3.4.6-6ubuntu2_amd64.deb也可打开想要保存到的文件夹后&#xf…

[html] 如何使用普通元素拥有像textarea元素一样缩放?

[html] 如何使用普通元素拥有像textarea元素一样缩放? resize:both;个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

python瞎练

需求:有不规则列表 singlelist3 [ 总计, 每吨人工:, 总人工, 1748.07, 金额],如果当前元素为字符串且该元素的下一个相邻位置仍为字符串,那么请在该元素后面插入数字0,如同 singlelist3 [ 总计,0.00, 每吨…

发布一个jQuery插件:formStorage

中午休息时,没有睡意,没事写了个jquery插件:formStorage. 原理很简单,通过本地存储机制(userData或者localStorage),存储表单中元素的状态到本地. 需要时可以把所存储的状态还原到表单元素上. 其中也用了json数据格式, 之前想对插件中所需的功能,从零开始写,但是觉得太冗余,没必…

简述python是怎么处理异常的-Python异常处理知识点总结

python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试python程序。 异常处理: 本站Python教程会具体介绍。 断言(Assertions):本站Python教程会具体介绍。 python标准异常 异常名称 描述 BaseException 所有异常的基类 SystemExit…

[html] html如何启动本地的exe应用?

[html] html如何启动本地的exe应用? 一般采用自定义浏览器协议的方式实现,可跨平台. 需要exe配合,修改目标机器的注册表. 如果要检测客户端是否已经安装对应的程序,可配合custom-protocol-detection这个项目. 关键词: detect browser custom proctocl个人简介 我是…

判断一个java对象中的属性是否都未赋值_100道Java基础面试题(一)

100道Java基础面试题(一)未来大家将步入职场,面试的时候面试官还会问大家一些Java相关的问题。小编整理出100道非常实用的面试题目,可以帮助双体的小伙伴应对面试,我们一起来看看都有哪些吧!1.什么是B/S架构?什么是C/S…

51学吧

一个很不错的自学网站:51学吧。 里面的教程挺多的。 以后经常性的看一看。 每天抽出一些时间,好好学习一下。 每天进步一点点,坚持下去。 转载于:https://www.cnblogs.com/kuixing1986/archive/2013/03/02/2940236.html

Ubuntu 手动安装JDK

终于成功手动安装了JDK,在此分享一下,希望所有开始使用ubuntu的新手能够用上自己所需版本的JDK。 1.下载JD: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.将下载的文件copy到自己指定的目录 3.打开终端&#xff0…

python中的defaultdict_简介Python的collections模块中defaultdict类型的用法

defaultdict 主要用来需要对 value 做初始化的情形。对于字典来说,key 必须是 hashable,immutable,unique 的数据,而 value 可以是任意的数据类型。如果 value 是 list,dict 等数据类型,在使用之前必须初始…

电脑cpu温度过高怎么办_网络资讯:电脑cpu占用过高处理办法

今天来说一下电脑cpu占用过高处理办法这方面的一些讯息,不少朋友对电脑cpu占用过高处理办法这方面的一些讯息颇感兴趣的,小编今天就整理了一些信息,希望对有需要的朋友有所帮助。1、安装并使用杀毒软件全面杀毒;2、优化系统自启动软件;3、把软…

[html] 举例说明图片懒加载的方案有哪些?

[html] 举例说明图片懒加载的方案有哪些? 利用 getBoundingClientRect() 这个 API 获取图片元素相对于视口的位置,来判断是否需要加载图片利用 IntersectionObserverEntry接口 获取目标元素与容器的相交状态个人简介 我是歌谣,欢迎和大家一起…

深度学习之数学基础(临时记录)

深度学习之数学基础(数值计算) 深度学习之数学基础(线性代数篇) 深度学习之数学基础(概率与统计) 转载于:https://www.cnblogs.com/tlz888/p/11381484.html

[html] html5的游戏引擎你了解多少?都有哪些比较好用的引擎呢?

[html] html5的游戏引擎你了解多少?都有哪些比较好用的引擎呢? 最近接了个小项目 接触了一个游戏引擎 Phaser 主攻2D Phaser用的别家的内核把 自己加壳子其他的只是看过介绍个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易&am…

扩展欧几里德算法

问题:对于正整数a,b,求整数x,y满足: axbygcd(a,b) 解法:ExtandedGCD 已知gcd(a,b)gcd(b,a mod b); 设gcd(a,b)d 假设已求出x1,y1满足bx1(a mod b)y1d(*) 因为a mod ba-(a div b)*b(**) (**)代入(*)得: ay1(x1-(a div b)*y1)bd 所以…

python 持续集成 教程_jenkins+python自动化测试持续集成教程

一、首先我们安装Jenkins,我这里采用的是.msi应用程序,根据提示进行安装(傻瓜式),最后会打开默认的网页地址:http://localhost:8080如果端口有冲突,可以去Jenkins的安装目录下的这个文件去改端口:二、进入J…

大型企业用什么orm_生产企业ERP有什么用

原标题:生产企业ERP有什么用生产企业ERP有什么用?随着我国经济的快速发展,这促使了许多企业或转型开发新的业务模式,以更快速度迈向新兴前沿领域。在这样的环境下,许多的生产型企业对ERP系统进行了实施。生产企业ERP到…

使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之一...

真得是完全生成的,mvc_scaffold_gen_setup.exe 这个工具确实挺好用。 这几天潜心学习了园子里众多的文章,摸索着生成了这么一个完整的例子...还没来的及仔细分析,要下班了,先发上来,晚上继续...下载示例程序及数据库脚…

[html] 说说html5手势检测原理是什么?

[html] 说说html5手势检测原理是什么? 手势检测的关键是用 touchstart,touchmove,touchend 三个事件对手势进行分解个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论…