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.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.