Skip to main content

LIBNAME statement Oracle examples in SAS



SAS Admins use LIBNAME Statement to test the connectivity to the configured database. We can test the connection to the database from OS level and LIBNAME statement in SAS Enterprise Guide (EG). Here I will explain in detail about how to run LIBNAME statement in SAS EG and the initial configuration needed to run the LIBNAME statement successfully.

LIBNAME Statement Oracle:

To run a LIBNAME state for Oracle database you need the following:

  • ·         Username and password of the Oracle database
  • ·         SID/Schema/Path of the Oracle database

Example:
Let username is winter and password is summer and SID is CHSLKJE.

For above given information, Libname statement will be:
LIBNAME test ORACLE user="winter" password="summer" path="CHSLKJE" schema="CHSLKJE";

Libname statement Oracle in SAS EG
In above example, test is libref. Libref can be any name of your choice. Don’t forget to add quotes, it throws error.

LIBNAME Statement throws error if you don’t do the following:

There should be entry in tnsnames.ora file in your host machine. The entry will be having schema name, ip address and port number. It should be like below image inside tnsnames.ora file.
Example:
tnsname.ora file opened in SSH client PuTTy
In the above image, Service Name is the schema name or SID. Hostname can be ip address or the name server. You should get the correct port number from DB team. 

Your host machine should have connectivity to the Oracle host machine. The ip address you see in above machine is the Oracle host machine. To check the connection you can use telnet command.

Example:
telnet 112.48.69.83 6482

For a successful connection it will give below output:
Trying 112.48.69.83...
Connected to 112.48.69.83
Escape character is '^]'.

The below output means failure:

  • Connection refused
  • Name or Service not known

If this fails here, you won’t be able to run LIBNAME statement successfully. Because, LIBNAME statement uses this Oracle configuration file tnsname.ora to connect to their database machine.

You can comment below if you face any issues while running LIBNAME statement for Oracle connectivity.

Comments

  1. This is such an inspiring read! Your insights really resonate and make me think differently. Thank you for sharing!

    ReplyDelete

Post a Comment

Popular posts from this blog

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.   Open SMC -> Expand Servers -> Expand   In SASApp , expand Logical Workspace Server -> right click on Workspace Server. Click properties -> option tab -> advanced options -> launch properties. 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. Us

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