我在STP服务器上构建了一个测试工具,为每次测试运行生成唯一的会话。我现在遇到的问题是我的一个测试需要使用元数据帐户(我生成的会话在sassrv系统帐户下运行)。
有关信息,产生这些会话的代码段如下:
/**
* Execute all the backtest scripts and retain the logs
*/
options sascmd='!sascmd';
%local waitforlist;
%do x=1 %to %get_attrn(backtest_scripts,NLOBS);
signon connx&x;
%syslput LOC_BACKTEST_SCRIPTS=&LOC_BACKTEST_SCRIPTS /remote=connx&x;
%syslput TEST_RUN_NO=&TEST_RUN_NO /remote=connx&x;
%syslput TEST_ID=Test&x /remote=connx&x;
%syslput TEST_PGM=&&test&x /remote=connx&x;
%syslput LOC_TEST_RESULTS=&LOC_BACKTEST_LOGS\Test_&TEST_RUN_NO
/remote=connx&x;
%syslput LOG_LOC=&LOC_BACKTEST_LOGS\Test_&TEST_RUN_NO\&&test&x...log
/remote=connx&x;
rsubmit connx&x wait=no ;
proc printto log="&LOG_LOC"; run;
options mprint source source2;
%inc "&LOC_BACKTEST_SCRIPTS\&test_pgm..sas";
endrsubmit;
%let waitforlist=&waitforlist connx&x;
%end;
waitfor _all_ &waitforlist;
%do x=1 %to %to %get_attrn(backtest_scripts,NLOBS);
signoff connx&x;
%end;
我的问题 - 我现在如何通过sassrv帐户作为元数据用户进行连接?我知道我可以使用-metauser XXX -metapass XXX
选项,但我不想在我的脚本中嵌入密码如果可能..
我知道(现在)我们无法将sassrv帐户设置为元数据用户,因为它已在使用中(SAS General Servers组)。我还需要流输出,因此无法使用工作区服务器。我尝试在我的rsubmit
语句中使用AUTHDOMAIN,但一直得到:
错误:从中检索基于AuthenticationDomain的登录信息 SAS Metadata Server失败。
答案 0 :(得分:0)
所以,最后,我必须通过options语句与metauser / metapass(编码)凭证进行连接。但是,为了避免在代码(或日志)中显示这些内容,我们创建了一个只有系统帐户才能访问的网络共享..然后只需%inc' da包含凭据的文本文件(确保选项nosource2)
完成工作!