REMOTE コマンド(RNPC)
分散サーバー(DSMSRV)が起動しているマシンのパラメータを指示するコマンドです。
このREMOTE〜CALLの機能を、RNPC(Remote NOMAD Procedure Call)と呼びます。
|
REMOTE
|
リモートID
NOMADSERVER
USERID ユーザーID
PASSWORD パスワード
SERVER サーバー名 ;
|
|
|
REMOTE
|
リモートID
NOMADSERVER
USERID ユーザーID
PASSWORD パスワード
OBJID アプリケーションID ;
|
|
必須パラメータ
リモートID
CALL文のREMOTE節で指定されるIDです。
NOMADSERVER
リモートNOMADプロシージャコールのための定義であることを明示します。
NOMSRVと省略して記述することもできます。
USERID ユーザーID
リモートマシンへのユーザーIDを指定します。
「dsm/r」で定義されたユーザー名を指定してください。
PASSWORD パスワード
リモートマシンへのパスワードを指定します。
「dsm/r」で定義されたユーザーIDに対するパスワードを指定してください。
オプションパラメータ
SERVER サーバー名
リモートマシンの名前、またはIPアドレスを指定します。
OBJID アプリケーションID
分散DSMCGI環境における、アプリケーションIDを指定します。
解説
分散DSMCGI環境において、リモートマシン上でNOMADプロシージャ(Entry)を実行するためのコマンドです。
このREMOTE文は、CALL(RNPC)と組み合わせて使用されます。
選択パラメータのSERVERとOBJIDは、必ずどれか1つを指定するようにしてください。
リモートサーバー上で、分散サーバー(DSMSRV)が起動している必要があります。
リモートサーバー名の代わりにアプリケーションIDを使用する場合は、
ローカルの設定ファイル[dsm.ini]に分散メインサーバーの設定が必要です。
また、分散メインサーバーの設定ファイル[dsm.ini]に、アプリケーションIDの記述を持った分散先サーバー(分散サブサーバー)の設定が必要です。
プログラム例
/* リモートサーバー上のプロシージャ[sample.nom] */
entry sample(&a);
dec &a as a20;
file define aa='result.txt ';
file open aa create;
write "I accept the following string." on aa;
write &a on aa;
file close aa;
return;
/*ローカル上の呼び出し側のプロシージャ*/
remote REMSERV nomadserver userid username password userpass server tasmania;
file open aa='result.txt' create;
call sample("Hello!!") remote REMSERV sesoff on aa;
file close aa;
この例では、リモートの分散サーバー[tasmania]上にある[sample.nom]ファイルを実行して、[sample.nom]が出力するファイル[result.txt]をローカルに転送します。
分散サーバー[tasmania]には、あらかじめユーザー名/パスワードがusername/userpassと登録されている必要があります。
ユーザー名/パスワードは、分散サーバー上のコンソールで「dsm/r」として登録してください。
実行後、分散サーバー上のB/NOMADセッションを解放します。
RNPCのコールは通常のローカルCALLと違い、結果をローカルにて取得する場合には、
その内容をリモートプロシージャ内でファイルに出力する必要があります。
また、そのファイル名と同名のファイルをローカルでオープンする必要があります。
OUTPUTウィンドウに表示される内容が、そのままローカルに転送されてくるという仕様にはなっておりません。
以下のコマンドも参照してください。
CALL(RNPC)
FILE OPEN
FILE CLOSE