接続時のユーザーID とパスワードを事前に設定する方法

[OS]All
[リリース] 6.12, 8.1
[キーワード] CONNECT, 6.12, 8.1, SCRIPT, userid, password

[質問]

SAS/CONNECTを使って、Windows から UNIX に TCP/IP でリモート接続しています。
SIGNONの実行時に毎回ユーザーIDとパスワードを入力していますが、これを事前に設定して省略することはできますか?

[回答]

スクリプトファイルを変更することにより、ユーザーIDとパスワードの入力を省略できます。他のプラットフォームでも可能です。

下記の例は Windows 版の tcpunix.scr ファイルの例です。プラットフォームによって多少異なります。


/*----------------UNIX LOGON---------------------------------------*/
/*-- for some reason, it needs a LF to turn the line around      --*/
/*--  after the login name has been typed. (A CR will not do)    --*/
/*-----------------------------------------------------------------*/

/* input 'Userid?'; */                                     /* コメントにする */
/* type LF;         */                                     /* コメントにする */
   type 'ユーザーID' LF;                                   /* 追加 */
   waitfor 'Password', 30 seconds : nolog;
/* input nodisplay 'Password?'; */                         /* コメントにする */
/* type LF;         */                                     /* コメントにする */
   type 'パスワード' LF;                                   /* 追加 */

また、上記のユーザーIDとパスワードの部分をマクロ変数に割り当て、プログラム上でサーバーへの接続直前に設定することも可能です。

下記の例はWindows 版のtcpunix.scr ファイルの例です。プラットフォームによって多少異なります。


/*----------------UNIX LOGON---------------------------------------*/
/*-- for some reason, it needs a LF to turn the line around      --*/
/*--  after the login name has been typed. (A CR will not do)    --*/
/*-----------------------------------------------------------------*/

/* input 'Userid?'; */                                     /* コメントにする */
/* type LF;         */                                     /* コメントにする */
   type "&USERID" LF;                                   /* 追加 */
   waitfor 'Password', 30 seconds : nolog;
/* input nodisplay 'Password?'; */                         /* コメントにする */
/* type LF;         */                                     /* コメントにする */
   type "&PASSWD" LF;                                   /* 追加 */

プログラム上では次のように設定します。


%let user=ユーザーID;
%let PASSWD=パスワード;
OPTIONS COMAMID=TCP ;
OPTIONS REMOTE=unix_srv;
FILENAME RLINK "!sasroot\connect\saslink\tcpunix.scr" ;
SIGNON;