分类:
2007-06-18 11:49:55
访问数据库文件时使用落实控制(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取消操作码对在落实控制下数据库文件的一组修改。
★注:落实控制只适用于数据库文件。