Skip to main content

Insufficient authorization to access PIPE error in SAS EG



Issue:

When I tried to run SAS code in SAS Enterprise Guide it throws following errors:
ERROR: Insufficient authorization to access PIPE.
ERROR: Error in the FILENAME statement.

Screenshot of error:


Solution:

This error occurs when you try to run OS commands in SAS code. To run the OS commands in SAS code you need to enable XCMD option. You check it in SAS Management Console by following below steps.


  1.  Open SMC -> Expand Servers -> Expand
  2.   In SASApp , expand Logical Workspace Server -> right click on Workspace Server.
  3. Click properties -> option tab -> advanced options -> launch properties.
  4. Check whether Allow XCMD is checked.


The issue arises if the Allow XCMD is not checked.
In above image, Allow XCMD option is not checked. It should be checked to run OS commands from SAS code.

In Unix /Linux machines, this XCMD option can be enabled by using system option XCMD in sasv9 config file or workspaceserver.sh script file.
Use your preferred method to enable XCOMD and restart the object spawner.
If you like to make changes in config file, then move to Workspaceserver configuration directory and add this option sasv9 or Workspaceserver.

How to enable XCMD system option?

Using SMC:

Go to the Workspaceserver properties as I mentioned in above steps. Then check the Allow XCMD option and restart the object spawner for the changes to take effect.


Using sasv9 config file:

Use preferred editor to open sasv9 or sasv9 usermods config file. Then add –xcmd option. Below are the steps.
vi sasv9_usermods.cfg
Then add this system option
-xcmd

Using WorkspaceServer_usermods.sh

Open the WorkspaceServer_usermods.sh using your preferred editor. Then add the below line in the script
USERMODS_OPTIONS=" -xcmd "
There is space after and before double quotes.

Use any one of the above method. Make sure you add this option only once. If you do in SAS Management Console then it is not needed to make changes in Workspace or SASV9 config file. For any of the above methods, after the changes were made restart the Object Spawner.

Leave comments if you still get the “Insufficient authorization to access PIPE” error or any doubts in making changes in configuration file.

Comments

  1. Hi Team, we have used all the above mentioned ways but still getting the same error. can you please help?

    ReplyDelete
  2. We have checked and issue is resolved if we execute the code from SAS Studio but when we execute the code from schedular .sh file it throws the errors again.

    ReplyDelete

Post a Comment

Popular posts from this blog

The authentication server is not SETUID ROOT error in SAS

Question: When validating the SAS Server from SAS Management Console, I received the following error: The authentication server is not SETUID ROOT.  So, I ran the setuid.sh utility and restarted the services many times. I just checked the elssrv sasauth sasperm setuid bit. There were no error in sasauth-debug.log, sasauth-access.log, sasauth-error.log.  Any suggestions? Answer: Please do the following:    1) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh stop  2) Edit /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh and add the code shown below right after SCRIPT=`basename $0`:  if [ -n ""$TKPATH"" ]; then  unset TKPATH  fi   if [ -n ""$TK_PATHLIST"" ]; then  unset TK_PATHLIST  fi    3) Run /<SASConfig>/Lev<X>/ObjectSpawner/ObjectSpawner.sh start  The above code change in ObjectSpawner.sh should fix the issue.

SAS - CLI error trying to establish connection

Issue: User asked me to make a database connectivity to SQL Server. They provided following details SQL server hostname and ip address Database/DSN name Username Password I made entry in ODBC.ini file. You know, SQL Server entries were made in ODBC.ini and Oracle entries were made in TNS.ora file. Everything went fine, took back up of odbc.ini, made entry and saved the file. So to test this connection I ran the libname statement in SAS Enterprise Guide 6.1. It throwed following error. Error Message: My DB team showed that they are able to login   14 GOPTIONS ACCESSIBLE; 15 LIBNAME test ODBC DATASRC=SGE_DS SCHEMA=VST USER=sales PASSWORD=XXXXXXXXX; ERROR: CLI error trying to establish connection: [SAS/ACCESS to SQL Server][ODBC SQL Server Legacy Driver][SQL Server]Login failed for user 'sales'. Solution: First I suspected that Login failed for user 'sales' meant the password provided by DB team was wrong. They responded that they were able to login wi