在aix中,我在存储过程中使用ffopen函数打开一个文件,由于我是新手,仿着人家的写的,故不是很清楚这个ffopen是怎么定义的,但是人家以前写的存储过程没有问题。现在我要增写存储过程,在里面用ffopen(a文件,'r')读不了一个已存在文件(返回-1),但是用ffopen(b文件,'w+b')可以创建这个并不存在的b文件。
我不清楚是怎么回事。后来我看了一下,好像我可以打开的文件是属于用户db2inst1的,而且我在存储过程中调用ffopen创建出来的文件也是属于db2inst1的,而打不开的文件是属于我当前的登录用户的。
但是我不明白,a文件的权限对于ugo都是有r的权限,不管谁都可以读吧?而且我chmod 777后仍不能读。
读不了的a文件 -r--r--r-- 属于当前登录用户,组为MMM组,
可以读的文件,-rwxrwxrwx 属于db2inst1用户,组也为MMM组。
但是奇怪的是,我在/etc/group下看了看,MMM组中有当前登录用户,却没有db2inst1这个用户,不知道为啥ls后会显示那个文件属于db2inst1,属于组MMM。
恳求高手解惑啊!谢谢啊!
------解决方案--------------------------------------------------------
最简单的方法 用db2inst1 登陆 cat a文件 如果没问题 就可以读 剩下就是a文件的问题了 LU中的文件是大小写敏感的
还有路径对不对