• 検索結果がありません。

RDBコマンドの呼び出し

ドキュメント内 Symfoware(R) Server Perlドライバユーザーズガイド (ページ 124-128)

 

5.1  RDBコマンドの呼び出し方法 

  RDBコマンドの呼び出し方法について説明します。 

RDBコマンドの呼び出しとは 

  Perlにはコマンドを呼び出す機能が用意されています。この機能を用いて RDBコマンドを呼び出すことが可能です。 

RDBコマンドを実行するマシン 

  PerlスクリプトからRDBコマンドを呼び出したとき、Perlスクリプトを実行 しているマシンのSymfoware/RDBに対するRDBコマンドが呼び出されます。Perl スクリプトを実行しているマシン以外のSymfoware/RDBに対するRDBコマンド の呼び出しはできません。 

RDBコマンドを実行するユーザ 

  PerlスクリプトからRDBコマンドを呼び出したとき、Perlスクリプトを実行 するユーザがRDBコマンドを実行するユーザとなります。 

  Perlスクリプトから、実行するユーザを判定するRDBコマンドを呼び出す場 合、Perlスクリプトを実行するユーザに対し、資源を操作することのできる権 限を与える必要があります。実行するユーザを判定するRDBコマンドや権限の 詳細は、 RDB管理者ガイド の 各操作で必要な権限 を参照してください。 

 

5.2 RDBコマンドの呼び出し例 

5.2  RDBコマンドの呼び出し例 

  RDBコマンドの呼び出し例について説明します。 

5.2.1  systemを用いたRDBコマンドの呼び出し 

  systemを用いたRDBコマンドの呼び出しについて説明します。 

systemとは 

  systemは、コマンドを実行し、コマンドの結果文字列をそのまま表示し、コ マンドの復帰値を返却します。 

  systemは、標準入力によるデータを必要としないRDBコマンドの呼び出しに 使用することができます。 

systemを用いたRDBコマンドの呼び出し例 

  systemを用いたRDBコマンドの呼び出し例を以下に示します。 

 

system( "rdbps" ) ; 

$rc = unpack( "c", pack( "c", $? >> 8 & 0xff ) ) ;  printf "rc : %d¥n", $rc ; 

   

5.2.2  open2を用いたRDBコマンドの呼び出し 

  open2を用いたRDBコマンドの呼び出しについて説明します。 

open2とは 

  open2は、コマンドに対する標準入力、標準出力のハンドルを返却します。 

  open2は、コマンドに対して標準入力を送り込み、標準出力のデータを受け 取ることができます。 

  open2は、標準入力によるデータを必要とするRDBコマンドの呼び出しに使用 することができます。 

open2を用いたRDBコマンドの呼び出し例 

  open2を用いたRDBコマンドの呼び出し例を以下に示します。 

 

use FileHandle ;  use IPC::Open2 ; 

$pid = open2( ¥*Reader, ¥*Writer, "rdbprt ‑d RDBDB ‑m DEF ‑ 2>&1" ) ;  Writer‑>autoflush() ; 

print Writer << "EOD" ;  SCHEMA(STOCKS) 

EOD 

print Writer pack( "h", "0xff" ) if( $^O == "MSWin32" ) ;  close Writer ; 

while( $str = <Reader> ) {  # read with line feed mark 

    printf "%s", $str ;  } 

wait ; 

$rc = unpack( "c", pack( "c", $? >> 8 & 0xff ) ) ;  printf "rc : %d¥n", $rc ; 

   

 

ドキュメント内 Symfoware(R) Server Perlドライバユーザーズガイド (ページ 124-128)