免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5600 | 回复: 10
打印 上一主题 下一主题

求助:文件锁如何查? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-10-21 16:02 |只看该作者 |倒序浏览
本帖最后由 zeno0310 于 2011-10-21 16:09 编辑

一个多成员文件在RPG程序中使用了显示方式打开(USROPN),使用成员前先用CLRPFM清空了,再用OVRDBF重载,之后再OPEN时报错:
File Operation . . . . . . . . . . . . :   OPEN F
File Routine . . . . . . . . . . . . . :   S#0002
Statement Number . . . . . . . . . . . :   00000130
Record Name  . . . . . . . . . . . . . :
Message Identifier . . . . . . . . . . :   CPF4128
              Not able to allocate objects needed for file  in library  member or program device .

该成员只有这一个RPG程序使用

在开发测试环境上都没有错,上生产后才出错,请帮忙想想,谢谢各位了!

论坛徽章:
0
2 [报告]
发表于 2011-10-21 16:37 |只看该作者
本帖最后由 first_come 于 2011-10-21 16:38 编辑

这个应该是 这个文件 有其他JOB在使用(之前可能有ALCOBJ,但是没有DLCOBJ),或者这个文件有重名,找到的不是对应的(ovrdbf 指定的path可唯一?)。

论坛徽章:
0
3 [报告]
发表于 2011-10-21 16:39 |只看该作者
WRKOBJLCK OBJ(LIB/FILE) OBJTYPE(*FILE) MBR(*ALL)  可以查看file的member被锁情况

虽然只有1个rpg用这个文件,但是在多用户的环境下,这个rpg可能同时被多个用户调用,存在互锁的可能。

测试环境下,只有你自己用,当然不会被锁

论坛徽章:
0
4 [报告]
发表于 2011-10-21 16:45 |只看该作者
回复 1# zeno0310


    该交易只有一个用户使用,每5分钟发起一次,我刚在测试上一次发起10次,重现的错误。应该是FTP的效率问题导致,谢谢各位

论坛徽章:
0
5 [报告]
发表于 2011-10-21 16:57 |只看该作者
本帖最后由 爱笑的猫猫 于 2011-10-21 17:01 编辑

回复 3# niuhua77


    之前在F表中定义数据库文件时,file type 用的是U,当同时定义多个文件且只对其中的一个进行update操作,其他的都是read的时候,文件出现过被锁的问题,而且并不是那个进行了update操作的文件被锁,而是其他的文件被锁,并且不是每次执行都会锁!!
后来把仅仅有read操作的文件的file type改成c 时,问题解决了,不明就里……
求解……

忘了说了,使用的是系统打开和关闭

论坛徽章:
0
6 [报告]
发表于 2011-10-21 17:00 |只看该作者
回复 5# 爱笑的猫猫


  你改下程序,每次更新用锁的方式读,其他情况下用在取记录的操作码后加上(N)

论坛徽章:
0
7 [报告]
发表于 2011-10-21 19:09 |只看该作者
回复 5# 爱笑的猫猫


    定义成U(update)方式的话,read文件,读到了,会把读到的记录加上记录锁。使用unlock或者update,释放当前的记录锁。read下一条记录的时候,也会释放当前的记录锁,但是会锁住下一条记录。

    如果此文件也被其他的程序用U的方式,刚好read此记录的时候,因为前一个程序已经锁住此记录,所以会报错。如果后面的程序没有读到此记录,而读的是其他的记录的话
   那么就不会报错。这就是你说的,不会每次都报错的原因,两个程序读到同一条记录的时候,才会报错。

   把U改成I的话,是以只读的方式打开文件,这样read文件,不会对记录加锁,所以不会报错了。

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
8 [报告]
发表于 2011-10-22 15:05 |只看该作者
回复 7# niuhua77


    正解!

论坛徽章:
0
9 [报告]
发表于 2011-10-24 10:23 |只看该作者
回复 7# niuhua77


    懂了,谢谢!

论坛徽章:
0
10 [报告]
发表于 2011-10-24 10:58 |只看该作者
回复 9# 爱笑的猫猫


    不客气
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP