as400中的Commit/Rollback概念

来源:岁月联盟 编辑:zhu 时间:2008-02-21
as400中的Commit/Rollback概念内容简介:【AS400教程】 数据库文件是AS/400中类型为*FILE的Object;它们既可以是PF又可以是LF,既可以是外部描述,又可以是程序描述。 访问数据库文件时使用落实控制(COMMIT/ROLBK),可以确保对数据库文件操作的以下两个

  【AS400教程】数据库文件是AS/400中类型为*FILE的Object;它们既可以是PF又可以是LF,既可以是外部描述,又可以是程序描述。

  访问数据库文件时使用落实控制(COMMIT/ROLBK),可以确保对数据库文件操作的以下两个结果之一:
  1、全部数据库文件操作都是成功的(落实操作);
  2、全部数据库文件操作都是无效的(取消操作).

  用这种方法,从而保证了数据库文件的完整性;另外,可以把一组操作当作一个单元来处理。

  使用落实控制,要做:

  在AS/400上:
  1、使用落实控制的预备:用CL命令CRTJRN(生成日志)、CRTJRNRCV(生成日志接收器)和STRJRNPF(日志物理文件).
  2、通知AS/400启动和结束落实控制的时间:用CL命令STRCMTCTL(启动落实控制)和ENDCMTCTL(结束落实控制).
  ●落实控制琐:
  在STRCMTCTL命令中,要注重指定一个上锁级别,LCKLVL(*ALL),LCKLVL(*CHG)或LCKLVL(*CS),当你的程序在落实控制下操作,并且对一个文件的记录已在落实控制下进行了I/O(输入/输出)处理,记录由落实控制加锁。
  ●落实控制范围:
  当用STRCMTCTL命令启动落实控制时,系统建立一个落实定义。落实定义包括作业中落实控制下修改的资料信息;

  落实定义只适用于发出STRCMTCTL命令之后的作业并且在发出ENDCMTCTL命令结束。

  落实定义范围指出了作业中哪些程序要使用落实控制,落实定义范围在活动组级或作业级。

  缺省的落实定义范围是发出STRCMTCTL命令的程序所在的活动组,也就是活动组级。只在这个活动组中运行的程序才能使用落实定义。OPM程序将使用*DFTACTGRP落实定义;ILE程序用与之有关的活动组。

  你可以在STRCMTCTL命令的落实范围参数CMTSCOPE上指定落实定义的范围。

  在RPG程序中:
  1、在要做落实控制文件的文件描述规范表上指出落实控制(COMMIT).
  2、用COMMIT落实操作码实施对在落实控制下数据库文件的一组修改,或者用ROLBK取消操作码对在落实控制下数据库文件的一组修改。

  ★注:落实控制只适用于数据库文件。

下一篇:400查询优化

图片内容