If you run under EG the process runs under your user, if you run in batch then the user is the batch user. This batch user needs to access SAS Metadata to retrieve the credentials and to do so there needs to be a SAS metadata identity for this batch user with the right metadata permissions.
What I'm doing more and more:
Instead of using syntax like... (N.B: If you're using AUTHDOMAIN then you don't provide a user).
CONNECT TO oracle (AUTHDOMAIN="DatabaseAuth" path="Database");
...I'm using...
CONNECT using <libref to Oracle>;
To do so there must of course be a libref available pointing to the DB already available. This could be a pre-assigned library in SAS Metadata (eventually with defer=yes). Also for this approach you still need a SAS Metadata identity that got read access to the SAS Metadata library definition.
... View more