AS400が複数台存在する場合に、リモートのRDBSへアクセスすることが可能です。
簡単ですが、その方法をまとめます。
準備作業
(1) ローカル:遠隔RDBの登録
リレーショナル・データベース・ディレクトリー 項目の処理 位置指定 . . . . . . . . オプションを入力して,実行キーを押してください。 1= 追加 2= 変更 4= 除去 5= 明細の表示 6= 明細の印刷 リモート・ OPT 項目 ロケーション テキスト MAIN *LOCAL BRANCH 172.17.0.2 <===(追加) 終わり F3= 終了 F5= 最新表示 F6= リストの印刷 F12= 取り消し F22= 全フィールドの表示 (C) COPYRIGHT IBM CORP. 1980, 2009.
(2) リモート:ライブラリー作成
- ローカル側で実行するSQLRPGオブジェクトが保存されているライブラリーをリモート側にも作成しました(理由が、いまいちわからず・・・)。
- 私の実施した環境では、SQLRPG初回実行時に、リモート側でSQLパッケージ(*SQLPKG)が作成されていました。
CRTLIB LIB(TIGEROBJ) TEXT(*BLANK)
SQLRPG-接続・切断
D W@RDBN S 10A INZ('BRANCH ') D W@USER S 10A INZ('USERID ') D W@PASS S 10A INZ('PASSWORD ') //** 接続処理 ** EXEC SQL SET CONNECT TO :W@RDBN USER:W@USER USING:W@PASS; //** 切断処理 ** EXEC SQL DISCONNECT :W@RDBN;
※なお、CRTSQLRPGIコマンド時に、RDB、USER、PASSWORDを指定することもできます。とはいえ、*DTAARAやテーブルにてリモート接続情報を保存して、ソース内部から接続処理を行わせたほうが、運用上楽でしょう。
SQL ILE RPG オブジェクト の作成 (CRTSQLRPGI) 選択項目を入力して,実行キーを押してください。 オブジェクト . . . . . . . . . OBJ > SAMPLE_RM ライブラリー . . . . . . . . > TIGEROBJ ソース・ファイル . . . . . . . SRCFILE > RPGLESRC ライブラリー . . . . . . . . > TIGER ソース・メンバー . . . . . . . SRCMBR > SAMPLE_RM ソース・ストリーム・ファイル SRCSTMF コミットメント制御 . . . . . . COMMIT *CHG リレーショナル・データベース RDB > BRANCH <<<<<<<<<<<<< コンパイル・タイプ . . . . . . OBJTYPE > *PGM 出力リスト . . . . . . . . . . OUTPUT *NONE テキスト ' 記述 ' . . . . . . . TEXT *SRCMBRTXT RDB ユーザー . . . . . . . . . USER USERID <<<<<<<<<<<<< RDB ユーザー・パスワード . . . PASSWORD PASSWORD <<<<<<<<<<<<< 続く ... F3= 終了 F4=プロンプト F5= 最新表示 F12= 取り消し F13= この画面の使用法 F24= キーの続き