Hello,
I'm trying to set up a password file in a folder in the server so that I don't have to reference my log-in credentials directly in the query
when connecting to Teradata.
Here's what I've done:
1) Saved a file named login.sas in a folder in the server with the following details:
%let tduser='myusername'
%let tdpass='mypassword'
2) Reference the file with a %include statement in my SAS program as follows:
%include "/intl/ipath/foldername/foldername/login.sas";
3) Run a query to connect to Teradata as follows:
Proc SQL;
Connect To teradata (server=edw user=&tduser password=&tdpass mode=teradata connection=global);
create table CUSTBASE as
select * from connection to teradata
(
select distinct....
4) I get an ERROR and a WARNING as follows:
%include "/intl/ipath/foldername/foldername/login.sas";
ERROR: Open code statement recursion detected.
28 Connect To teradata (server=edw user=&tduser password=&tdpass mode=teradata connection=global);
WARNING: Apparent symbolic reference TDPASS not resolved.
WARNING: Apparent symbolic reference TDPASS not resolved.
Any help on how to resolve this would be greatly appreciated.
Thanks !
%LET statements (each of them) require a semicolon to end the statement.
Add them and that should take care of the problem.
Thank you very much @Astounding ! Much appreciated.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.