我想在libname语句中调用一个宏变量作为密码,但似乎无效。 我写的libname语句是
%let pswd=ABCD
libname sa2st oracle path='wegtrse' user=myname password='&pswd' defer=no
connection=globalread readbuff=4000 ;
这会产生错误
Error in the libname statement
并在日志中
NOTE: Line generated by the macro variable "PSWD".
18 Xpswd
----
22
如何在此libname语句中调用宏变量?
答案 0 :(得分:3)
不会在单引号内部评估宏触发器。请改用双引号字符。还要确保在宏变量的赋值中包含结束分号。
MultipartEntity entity = new MultipartEntity();
entity.addPart("key","value");
.....
.....
..... all keys
httppost.setEntity(entity);
答案 1 :(得分:1)
将此问题与您的相关问题(SAS/Connect to Oracle with rsubmit)联系起来,如果您担心以明文形式存储密码,可以使用PWENCODE过程对其进行加密,然后在libname语句中使用它。
/* One off (or when password changes), then take {SAS002} result from log */ proc pwencode="mylongpassword" method=sas002 ; run ; %LET USR = bilbobaggins ; %LET PWD = {SAS002}B02D643D06D400915C1E7F831D448FD5266E98F15A282918 ; libname mylib oracle user="&USR" pass="&PWD" path='wegtrse' ;