关于数据库文件的UC控制的问题

发表于:2007-05-26来源:作者:点击数: 标签:
哪位在引用文件的时候用过这种控制方法?好象是加了UC的文件在使用的时候必须得有OPEN先打开,在程序结束的时候会自动关闭吗?或者程序结束前别的程序调用这个文件会不会发生关于使用权限的问题? 请用过的各位给些指点!3KS! e_server 回复于:2004-04-10

哪位在引用文件的时候用过这种控制方法?好象是加了UC的文件在使用的时候必须得有OPEN先打开,在程序结束的时候会自动关闭吗?或者程序结束前别的程序调用这个文件会不会发生关于使用权限的问题?

请用过的各位给些指点!3KS!

 e_server 回复于:2004-04-10 05:09:02
Function:usropn ???

 aeiou 回复于:2004-04-10 12:45:50
UC是RPG3中用的。跟RPGLE的UsrOpn应该是一样的吧。

可以找一下以前的贴子,有一个关于 UsrOpn 的介绍的。

 qm 回复于:2004-04-10 16:03:52
看了一下以前aeiou的帖子,还是不太明白:比如程序A先后调用程序B和C,在程序B和C中都有对文件的UC控制,我是想问的是B在执行结束以后会自动关闭这个文件吗? 因为反复运行几次后出现在调用C的时候出现提示文件因为想要重复打开而产生错误的信息。

 wildfish 回复于:2004-04-10 23:04:51
用完就关,就不会出现这样的结果

 红像 回复于:2004-04-12 10:12:45
'UC'开关是指USER CONTROL, 在需要COMIT/ROLLBACK的时候使用,至少我是这样理解的。

在一个文件OPEN以后,好像就会被LOCK住,其它文件是不能往里面写?又或者打开。最好是自己CLOSE。

 aeiou 回复于:2004-04-12 12:37:41
如果设置了 *INLR = *ON 的话,应该可以关闭的。

另外,如果是反复运行几次后才会出现问题,那就说明第一次运行的时候是没问题的,也就是说单是A调B又调C本身是没问题的,后面之所以有问题,可能还是逻辑控制上的问题。
你用DEBUG跟踪一下,看什么时候出问题。跟踪过程中可以通过系统请求3,然后用12察看打开的文件,就能比较清楚的了解程序的每一步执行对文件的控制是如何影响的。

 qm 回复于:2004-04-12 14:14:14
一般程序在有RETRN或者*INLR为*ON状态的时候可以退出,原来的程序中在结束的时候是对*INLR置了ON的,即使出现文件读些异常,文件也应该能被关闭的;跟踪由于权限问题无法实现。
另:如果对一个文件用了UC控制,其他的程序是不是就相当于完全不能用这个文件了?

 qm 回复于:2004-04-12 15:23:33
随便找了一个文件试验了一下,发现在两个SESSION中同时对一个文件进行UC打开控制并有可能进行更新和追加操作,互相没有什么影响。在同一个SESSINON中先以可追加和可更新的方式打开,并且不SETON  *INLR,后来的一个追加和更新文件操作也能正常进行!
迷茫ing!

 qm 回复于:2004-04-12 15:29:09
看了QINGZHOU提供的RPG REFERENCE 也没有找到比较详细的关于这个的说明。各位有过这方面接触的请不吝指教!

 qm 回复于:2004-04-14 10:52:49
自己顶出来请各位再看看!谢了!

原文转自:http://www.ltesting.net