0

テスト実行ごとに固有のセッションを生成するテスト ハーネスを STP サーバー上に構築しました。私が今抱えている問題は、私のテストの 1 つがメタデータ アカウントを使用する必要があることです (そして、生成されたセッションは 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 グループ)、メタデータ ユーザーとして設定できないことを (現在) 知っています。ストリーミング出力も必要なので、ワークスペース サーバーを使用できません。ステートメントでAUTHDOMAINを使用しようとしましたrsubmitが、取得し続けます:

エラー: SAS Metadata Server からの AuthenticationDomain に基づくログイン情報の取得に失敗しました。

4

1 に答える 1

0

そのため、最終的には、options ステートメントを介して metauser / metapass (エンコードされた) 資格情報を使用して接続する必要がありました。ただし、これらがコード (またはログ) で表面化するのを避けるために、システム アカウントのみがアクセスできるネットワーク共有を作成しました。次に、資格情報を含むテキスト ファイルを %inc しました (確実にオプション nosource2 を使用)。

仕事終わり!

于 2016-01-15T11:48:01.417 に答える