RDBコマンドとアプリケーションを同時に実行する場合によくある質問と、その回答について説明します。
同一資源に対してrdbsloaderコマンドとアプリケーションを同時に実行した場合、どうなるか?
同じテーブルに対してrdbsloaderコマンドとアプリケーションを同時に実行した場合、以下の結果になります。
rdbsloaderコマンド実行中にアプリケーションを実行した場合
以下のSQLSTATEおよびSQLMSGがアプリケーションに返却されます。
SQLSTATE: 71400 SQLMSG: JYP5013E スキーマ“スキーマ名”の表“表名”内に定義されているDSI“DSI名”は利用規定されています.
アプリケーション実行中にrdbsloaderコマンドを実行した場合
rdbsloaderコマンドが以下のメッセージを出力して異常終了します。
qdg03204u: DSI‘DSI名’は他の利用者が参照または更新中です
ポイント
データベースの同一資源に対して、アプリケーションおよびRDBコマンドが同時に動作した場合に、それぞれの処理を矛盾なく実行するために、Symfoware/RDBが排他制御を行います。
詳細については、“RDB運用ガイド(データベース定義編)”の“アプリケーションおよびRDBコマンド間の排他”を参照してください。