Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


14.3.8 ファイルに記述したDMLコマンドを実行する場合

4V FMBのSDBデータベースのルートレコードに,レコード実現値を格納します。入力ファイル(infile.txt)に記述したDMLコマンドを実行し,実行結果を出力ファイル(outfile.txt)に出力します。

  1. DMLコマンドを入力ファイル(infile.txt)に記述する

     START "FMB1" ACSMODE UPDATE ENQOPT EXCLUSIVE;
     STORE "FMB1_RECA" SET "DBKEY_L1" = 'KEY1',
                           "RECA_UD1" = 123.,
                           "RECA_UD2" = -9.8
                       PAGESWITCH OCCUPY
                       ;
     YES    ←YESを指定します。
     COMMIT;
     #EXIT;

    注※ STOREコマンドの実行を許可するYESを指定する必要があります。

  2. pdsdbexeコマンドを実行する

     pdsdbexe -u '"User01"/"Pswd01"' <infile.txt >outfile.txt
  3. 実行結果(outfile.txt)を確認する

     pdsdbexe **** SDB Database Executor 09-60    ****  2015-12-14 16:49:44
     
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     CONNECT INFORMATION
       SERVER NAME "testfes1"
       PROCESS ID                      : 12319
       CONNECT NUMBER                  : 12
     KFPB64050-I CONNECT command processing completed
     COMMAND ?     +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
     START "FMB1" ACSMODE UPDATE ENQOPT EXCLUSIVE;
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     DIRECTORY CHECK DATE INFORMATION
       PDSDBDEF EXEC DATE              : 2015-12-14 16:20:46.67
       SDB DIRECTORY UPDATE DATE       : 2015-12-14 16:20:49.16
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     HiRDB SERVER VERSION INFORMATION
       SERVER VERSION                  : 09-60   
     KFPB64050-I DINF(GET DATE) command processing completed
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     START INFORMATION
       SDB DATABASE NAME "FMB1"
       HANDLE NUMBER                   : 1
       ACSMODE                         : UPDATE
       ENQOPT                          : EXCLUSIVE
       AUTODEQ                         : NO
       RDAREAVAL                       : NO
     KFPB64050-I DINF(GET SDB SUMMARY) command processing completed
     KFPB64050-I DINF(GET SDB DETAIL) command processing completed
     KFPB64050-I START command processing completed
     COMMAND ?     +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
     STORE "FMB1_RECA" SET "DBKEY_L1" = 'KEY1',
     NEXT ?        +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
                           "RECA_UD1" = 123.,
     NEXT ?        +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
                           "RECA_UD2" = -9.8
     NEXT ?        +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
                       PAGESWITCH OCCUPY
     NEXT ?        +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
                       ;
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     STORE RECORD INFORMATION
       RECORD KIND                     : ROOT RECORD
     AGREE TO STORE ? [ENTER YES OR NO]
     YES
     ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
     STORE INFORMATION
       STORE SERIAL NUM                : 0
       ROWID                           : X'070000001B00000000000100'
       SECOND INDEX KIND               : NOUSE
       RECORD POINTER STATUS           : NONE
     KFPB64050-I STORE command processing completed
     COMMAND ?     +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
     COMMIT;
     KFPB64050-I COMMIT command processing completed
     COMMAND ?     +----2----+----3----+----4----+----5----+----6----+----7----+----8
     
     #EXIT;
     KFPB64050-I DISCONNECT command processing completed
     KFPB64050-I #EXIT command processing completed
     
     KFPB64000-I The pdsdbexe terminated, return code = 0
■入力ファイルの記述規則
  1. 入力ファイル中に記述する文字の文字コードは,次の表に示すようにクライアント環境定義のPDLANGで指定している文字コードと同じにしてください。PDLANGについては,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」を参照してください。

    表14‒4 入力ファイルの文字コード

    PDLANGの指定値

    入力ファイルの文字コード

    備考

    SJIS

    Shift-JIS

    なし。

    UTF8

    Unicode(UTF-8)

    BOMは付加できません。

    参考

    PDLANGで指定している文字コードは,pdsetupコマンドの-cオプションで指定した文字コードと同じです。

  2. 改行コードは,X'0A'(LF)または,X'0D0A'(CRLF)としてください。

  3. #EXITコマンドの指定は省略できます。

  4. EOF制御文字がある場合,#EXITコマンドの指定と同じ処理が行われます。

  5. #EXITコマンドを省略した場合,pdsdbexe操作コマンドが終了した行の改行後からEOF制御文字までの間に,次のpdsdbexe操作コマンドの開始となる入力があると,エラーとなります。そのため,ファイルの末尾には#EXITコマンドを指定することを推奨します。

    エラーとなる例を次に示します。

    [図データ]

■出力ファイルへの出力規則
  1. 出力ファイル中の文字コードは,次の表に示すようにクライアント環境定義のPDLANGで指定している文字コードと同じになります。PDLANGについては,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」を参照してください。

    表14‒5 出力ファイルの文字コード

    PDLANGの指定値

    出力ファイルの文字コード

    備考

    SJIS

    Shift-JIS

    なし。

    UTF8

    Unicode(UTF-8)

    BOMは付加されません。

  2. 改行コードは,X'0A'(LF)で出力されます。ただし,エラーが発生した場合,標準出力にX'0D0A'(CRLF)が出力されることがあります。