设为首页 收藏本站
查看: 1211|回复: 0

[经验分享] DB Query Analyzer中的事务管理在DB2中的应用

[复制链接]

尚未签到

发表于 2016-11-17 01:23:33 | 显示全部楼层 |阅读模式
   DB Query Analyzer中的事务管理在DB2中的应用
  马根峰
   ( 广东联合电子收费股份有限公司, 广州 510300)
  摘要<wbr><wbr><wbr><wbr><wbr> 事务控制是数据库应用系统中的关键技术之一,概述了事务控制的概念以及《DB Query Analyzer》中的事务控制,以一个具体的实例,给出《DB Query Analyzer》中的事务控制在DB2中的使用方法。</wbr></wbr></wbr></wbr></wbr>
  关键词<wbr><wbr><wbr> DB Query Analyzer;事务控制;DB2</wbr></wbr></wbr>
  
  <wbr></wbr>
  The<wbr> Application of the transactions control in DB2 with DB Query Analyzer</wbr>
  MA Gen-feng<wbr><wbr></wbr></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>( GuangDong Unitoll collection incorporated, GuangZhou 510300)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr><wbr></wbr>
  <wbr><strong>Abstract</strong><wbr><wbr><wbr><wbr>Transaction control is one of the key technology in the database application system. Firstly, the thesis give<wbr> a<wbr> brief introduction to the<wbr> conception ofthe 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.</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr><wbr><wbr><strong>Key words</strong> <wbr><wbr>DB Query Analyzer;Transaction control;DB2</wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  1<wbr><wbr><wbr><wbr><wbr>引言</wbr></wbr></wbr></wbr></wbr>
   在数据库维护、管理的时候,经常要用到数据库的记录的修改、删除,并且从数据安全角度考虑,只有在确认操作无误后,才向DBMS提交。这就要使用到DBMS的事务管理。
  而《DB Query Analyzer》,作为《万能数据库查询分析器》的英文版本,它基于Windows系统操作系统,支持Windows7、Vista等Windows操作系统。由于《DB Query Analyzer》具有的强大功能、友好的操作界面、良好的操作性、跨越数据库平台的诸多优点,使得使用它来进行各种关系数据库系统的维护、管理与开发变得非常轻松。
  下面我们就通过具体的实例来介绍如何使用《DB Query Analyzer》来进行事务管理。由于《DB Query Analyzer》是一种跨数据库平台的产品,所以对于在其它关系数据库系统中的事务管理,类同于本文中的实例。
  <wbr></wbr>
  2<wbr><wbr><wbr><wbr><wbr><wbr>事务控制方式</wbr></wbr></wbr></wbr></wbr></wbr>
  
  2.1<wbr> 事务控制</wbr>
   《DB Query Analyzer》支持两种事务管理模式:
   (1) 自动提交事务:用户不用对事务进行管理,由后台数据库对事务进行管理。平时绝大多数情况下,用户都是采用这种模式。如在进行数据删除时,执行完DELETE后,记录就被删除。
   (2) 手工管理事务:用户自己对事务进行管理。用户通过参数设置可以将事务控制设置为手工管理事务,这样在《DB Query Analyzer》中执行的SQL语句都不会提交,只有在《DB Query Analyzer》中“事务管理”时提交事务,所有的更新与修改才会生效。
  
  <wbr><strong>2.2<wbr><wbr><wbr><wbr><wbr>在DB Query Analyzer中设置事务管理为手工管理模式</wbr></wbr></wbr></wbr></wbr></strong></wbr>
  点击 “Tools”下的“Configuration” 菜单,取消选项“Transaction auto commit”的选中状态。并新建窗口2。这时在状态栏中“Transaction autocommit”已经变成“Off”,见图1、图2所示
DSC0000.gif

  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图1<wbr><wbr> 设置事务提交方式</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  <wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=4b70463f0100st8n&amp;url=http://s5.sinaimg.cn/orignal/4b70463fga96b809443c4" target="_blank"></a><br> DSC0002.gif <br></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图2<wbr><wbr> 打开新的窗口,采用手工提交事务的模式</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  3<wbr><wbr><wbr><wbr><wbr>事务控制演示</wbr></wbr></wbr></wbr></wbr>
  下面我们就以《DB Query Analyzer》在DB2中的事务管理为例,向大家介绍一下《DB Query Analyzer》中的事务管理。
  
  3.1<wbr><wbr><wbr><wbr><wbr>修改表TB_AREA之前表中的记录</wbr></wbr></wbr></wbr></wbr>
  首先,我们要查询修改DEVELOP模式下修改前表TB_AREA的记录,如图3所示
  
DSC0001.gif

  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图3<wbr><wbr> 修改前表TB_AREA中的记录</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  
  3.2<wbr><wbr><wbr><wbr><wbr>修改表TB_AREA中的记录</wbr></wbr></wbr></wbr></wbr>
  接着,我们在手工提交事务的窗口2,修改表TB_AREA中的记录,将“测试区域”的AREASERVERIP值由“ 10.10.10.10”改为“11.11.11.11”,并以只读锁来访问表TB_AREA,可以看到窗口2中记录已发生了变化,如图4所示;而再执行窗口1中的查询语句,由于查询时没有加R(只读锁)则查询不到结果,表明表TB_AREA中有未提交的事务,如图5所示。
  <wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=4b70463f0100st8n&amp;url=http://s13.sinaimg.cn/orignal/4b70463fga96b82c8c48c" target="_blank"></a><br> DSC0003.gif <br></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图4<wbr><wbr> 修改表TB_AREA中的记录</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  <wbr></wbr>
  <wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=4b70463f0100st8n&amp;url=http://s6.sinaimg.cn/orignal/4b70463fga96b83604425" target="_blank"></a><br> DSC0004.gif <br></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>图5<wbr><wbr> 表TB_AREA中有未提交或回退事务,所以在其它会话中只能以R锁来查询该表</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  <wbr></wbr>
  3.3<wbr><wbr><wbr><wbr><wbr>取消事务</wbr></wbr></wbr></wbr></wbr>
  切换至窗口2,点击菜单“Query”中的“Transaction Manager”,系统会弹出一个消息框。提示当前窗口中可能存在事务,提交事务,请点击是,回滚事务请点击否;什么都不做点击取消,如下图所示:
  <wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=4b70463f0100st8n&amp;url=http://s7.sinaimg.cn/orignal/4b70463fg77578d33b1a6" target="_blank"></a><br> DSC0005.gif <br></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图6<wbr><wbr> 事务管理提示</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  在此,我们点击否,取消刚才的修改操作。在窗口1执行查询,发现表TB_AREA中“测试区域”的AREASERVERIP值还是“10.10.10.10”,如图7所示
  <wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=4b70463f0100st8n&amp;url=http://s11.sinaimg.cn/orignal/4b70463fga96b84b876fa" target="_blank"></a><br> DSC0006.gif <br></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图7<wbr><wbr> 回滚事务后进行的查询</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  3.4<wbr><wbr><wbr><wbr><wbr>提交事务</wbr></wbr></wbr></wbr></wbr>
  重做3.2步骤来修改记录,然后再切换至窗口2,点击菜单“查询”中的“事务管理”,并点击是来提交事务(参见图5)。
  然后在窗口1中执行查询,发现表TB_AREA中“测试区域”的AREASERVERIP值改为“11.11.11.11”,如下图所示:
  <wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=4b70463f0100st8n&amp;url=http://s3.sinaimg.cn/orignal/4b70463fga96b853d96d2" target="_blank"></a><br> DSC0007.gif <br></wbr>
  <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="font-size:13px">图8<wbr><wbr> 提交事务后进行的查询</wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
  <wbr></wbr>
  4<wbr><wbr><wbr><wbr><wbr>结束语</wbr></wbr></wbr></wbr></wbr>
  事务管理是数据库维护、管理、开发的过程中经常要使用的操作。每一个程序员都希望方便、安全地进行数据库的事务操作,而《DB Query Analyzer》则正是满足了这种要求。
  <wbr></wbr>
   参考文献:
  [1]<wbr> 张龙祥,黄正端,陶影<wbr> · 数据库原理与设计 · 成都:西南交通大学出版社,1995.</wbr></wbr>
  <wbr>[2]<wbr> 马根峰 · ActiveX数据对象之事务控制在VB和DELPHI中的应用· 郑州:信息工程大学学报2001.</wbr></wbr>
  [3]<wbr> 马根峰 · 万能数据库查询分析器中的事务管理在Oracle中的应用· 上海:微型电脑应用2008.</wbr>

  <wbr></wbr>
  <wbr></wbr>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-301204-1-1.html 上篇帖子: 讲解IBM DB2数据库的常用日期操作函数 下篇帖子: SQL语句优化DB2应用程序性能(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表