免费注册 查看新帖 |

Chinaunix

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

請教一個PF寫入的問題 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-12 14:43 |只看该作者 |倒序浏览
最近發現程序在向PF中WRITE一條記錄之后,在程序退出之前,用WORKQRY是查不到已經寫入的數據的,等到程序退出,那些WRITE的數據就全部都可以查到了。文件是以O類型的方式聲明的。
     想請教一下各位,針對這種情況,有沒有辦法可以讓WRITE的數據立即生效,而不是等到程序退出之后才生效?如果可以的話,該如何設置?

论坛徽章:
0
2 [报告]
发表于 2008-09-12 15:30 |只看该作者

回复 #1 afeng8848 的帖子

因为系统默认是按块的方式,也就是一次写入多条记录的方式往文件插数据的。要write立即生效的话,在申明文件的时候加上BLOCK(*NO)关键字。

论坛徽章:
0
3 [报告]
发表于 2008-09-12 15:41 |只看该作者
原帖由 earthliu 于 2008-9-12 15:30 发表
因为系统默认是按块的方式,也就是一次写入多条记录的方式往文件插数据的。要write立即生效的话,在申明文件的时候加上BLOCK(*NO)关键字。

應該不是這個問題導致,因為我WRITE 兩個文件,都是O類型的,其中之一呢是以前就有的,也沒有聲明BLOCK關鍵字,但是一WRITE就可以查到數據了;另一個是我后加的,WRITE之后非得等到程序退出來才能查到WRITE進去的數據。

我用CHGPF對比了一下這兩個PF之間的差異,發現只有Maximum file wait time . . . . .   *IMMED這里的設置有差異,但是我想這個參數不是發生資源鎖定等情形時的等待時間么,難道也能控制WRITE之后的生效時間?

论坛徽章:
0
4 [报告]
发表于 2008-09-12 16:00 |只看该作者
做Journal了?

论坛徽章:
0
5 [报告]
发表于 2008-09-12 16:04 |只看该作者
原帖由 roden 于 2008-9-12 16:00 发表
做Journal了?

沒有。

论坛徽章:
0
6 [报告]
发表于 2008-09-12 16:38 |只看该作者
用User control方式自行控制,用前OPEN,寫入後CLOSE,就可以馬上查到資料。

论坛徽章:
0
7 [报告]
发表于 2008-09-12 17:01 |只看该作者
原帖由 lordlost 于 2008-9-12 16:38 发表
用User control方式自行控制,用前OPEN,寫入後CLOSE,就可以馬上查到資料。

像你說的這種方法應該是可以的。因為我用U聲明的文件在WRITE之后UNLOCK,就可以立刻查到。
剛剛試了下Maximum file wait time . . . . .   *IMMED參數,是沒有效果的。
但是針對同時WRITER兩個文件,為什么其中一個不需要做什么特殊操作就可以立刻查到呢,另一個就非得程序退出來后才可以呢?
我覺得一定有某個地方要設置一下。難道會是在編譯PF時設置的么?

论坛徽章:
0
8 [报告]
发表于 2008-09-13 23:28 |只看该作者

回复 #1 afeng8848 的帖子

查下以前的帖子

论坛徽章:
0
9 [报告]
发表于 2008-09-15 13:32 |只看该作者
我试着解释一下这问题,大伙轻拍
1. O类型声明的文件表示块写入磁盘,一般是大于64K后写一次(好像是这样,但这个值系统管理员是可以更改的),所以WRITE后,马上查PF是不会看到的,这时候你WRITE的东西还在缓存里;同时程序退出时,也会一次性写磁盘,所以就是你所说的必须在程序退出后才能查到数据。

2.U/A类型声明的文件是逐条记录写磁盘,所以一WRITE就能够查到。

3.Maximum file wait time 这个参数没有用过,不知道是干什么的,如果有那位大虾知道,介绍一下。

4.O类型文件也可以立即写磁盘,办法是在程序中使用强制写磁盘命令,具体我忘记了。。。不好意思,但我知道,一定是有的。

论坛徽章:
0
10 [报告]
发表于 2008-09-15 21:23 |只看该作者
Maximum file wait time 这个是控制,当U方式打开时,数据PF被锁定时,立即执行,而不必要等60秒等那个白色X的SYTEM。

关于用WRITE没有立刻写入,一般是申明文件的时候加上BLOCK(*NO)关键字

还有就是这个PF有多个MEMBER,写入的MEMBER和LZ你看的PF的MEMBER不一致(这个情况,我早年自己遇到过,当时还郁闷了好长一段时间呢。。。。哈哈)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP