Page 1 of 1

Access problems on Excel file

Posted: Wed Oct 25, 2017 4:40 am
by Nagac
Hello

I have excel file to be processed in datastage. I used Unstructured stage to read data from Excel file but I am getting error saying:
file <xxx> doesn't exists. Specify a valid filename
I know there is file in location I mentioned in Unstructured stage. I am running DataStage job as non-dsadm user (which means I mapped different credentials in admin console), file is owned by mapped user and 770 rights on it.

Job works fine when I grant 777 on file.

Can someone advise if Unstructured stage operator is invoked by dsadm? I know it internally calls java method.

Posted: Wed Oct 25, 2017 1:40 pm
by ray.wurlod
Tell us how your Engine credentials are set up. That will inform us about the user used to execute on the Engine. Then tell us what the owner and group for the file are, and whether the credentialled user is the owner or is a member of that group.

Posted: Thu Oct 26, 2017 6:30 am
by Nagac
Thanks Ray for your response.

yes, Engine credentials were setup for every user(devproj) and same user(devproj) was the owner of the files and group is devprojects. dsadm is the member of devprojects group.

I can access the file as devproj user from unix command line.

Thanks

Posted: Thu Oct 26, 2017 9:26 am
by chulett
Well... you obviously have a permissions problem and we're missing some piece of information, some piece of the puzzle. With 770 the file's owner not only has full permissions, so does anyone in the file's group. The fact that that fails tells us the user your job is run by is neither, never mind the fact that you need to open the permissions up to 777 so the job can successfully read the file.

Seems to me that you need to revisit "the user used to execute on the Engine".

Posted: Sat Oct 28, 2017 10:55 pm
by asorrell
Is the file on your local file system? Or is it really on a Windows disk somewhere and you are reading it through an NFS mount?

I've had some problems with NFS in the past. In one case the problem was that some versions of NFS didn't support more than 16 groups on an id. It would only pass the first sixteen and if the group you needed for access was 17 or higher, tough luck.

Make sure your target directory is wide open and have your process create a new file there. Then check the permissions on that new file. That will at least tell you the id and primary group that is being used.