有人知道在停电的情况下,USRSPC的用户空间有多安全吗?
我使用用户空间来提供基于每个文件的最后一个号码。我使用所谓的机器代码API来防止同样的数字被发出两次.在重新IPL之前,我发现由于用户空间没有保存到磁盘而造成的重复。
用户空间似乎不符合日志记录的条件。或者,有人知道我可以在每次发放的最后一个数字递增时记日记吗?
你好,弗兰克·马歇尔
发布于 2022-10-25 17:25:50
在古斯 API上有一个force参数。将该参数设置为“2”,以强制用户空间更改立即写入磁盘。
PGM
DCL VAR(&USRSPC) TYPE(*CHAR) LEN(20)
dcl &start *int
dcl &len *int
dcl &data *char 2000
dcl &rtndata *char 2000
dcl &force *char 1
dcl &attr *char 10
dcl &size *int
dcl &init *char 1
dcl &pubaut *char 10
dcl &desc *char 50
chgvar &usrspc 'STEVE QGPL'
chgvar &attr ' '
chgvar &size 2000
chgvar &init ' '
chgvar &pubaut '*ALL'
chgvar &desc 'user space demo'
call pgm(quscrtus) parm(&usrspc &attr &size &init &pubaut &desc )
chgvar &start 25
chgvar &len 10
RTVJOBA JOB(&DATA)
chgvar &force '2'
call quschgus parm(&usrspc &start &len &data &force )
chgvar &usrspc 'STEVE QGPL'
chgvar &start 25
chgvar &len 10
call qusrtvus parm(&usrspc &start &len &rtndata)
sndpgmmsg msg('data returned:' *cat &rtndata)
endpgm发布于 2022-10-25 12:40:53
*USRSPC对我来说存储序列号似乎有点过分了。这就是坚持,正如你所发现的,有点缺乏。DTAARA是更好的,因为它没有自动扩展逻辑在封面之下。或者数据库序列,它是专门为您试图使用的序列创建的。这个序列实际上是在一个数据区域上实现的。
https://stackoverflow.com/questions/74192304
复制相似问题