通过sassrv帐户分配元数据用户

时间:2016-01-15 09:03:06

标签: sas sas-metadata

我在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失败。

1 个答案:

答案 0 :(得分:0)

所以,最后,我必须通过options语句与metauser / metapass(编码)凭证进行连接。但是,为了避免在代码(或日志)中显示这些内容,我们创建了一个只有系统帐户才能访问的网络共享..然后只需%inc' da包含凭据的文本文件(确保选项nosource2)

完成工作!