【ステップの効果】
- SQL文を利用して、データベースから行毎に情報を取得することができます。
【使用方法】
- 新しいアクションを追加し、「アクションを選択」>「データベース」>「データベース照会」を選択します。
- 「データベース」に登録で利用したデータベースマッピングを設定して、
「SQLクエリ」にSQL文を記載します。
※「SQLクエリ」>「編集」>「SQL実行」をクリックすることでSQL文の結果を確認することができます。
- 「変数マップ」>「列名」に抽出したい列名(カラム名)を指定します。
「変数マップ」>「変数」に抽出した結果を入力する変数を指定します。
【設定項目】
①「データベース」:利用するデータベースマッピングを選択します。
※データベースマッピングは、登録元になるデータベースとなります。
事前に以下のように作成したものとなります。
②「SQLクエリ」:データ照合するためのSQL文をエクスプレッション形式で記載します。
③「変数マップ」:
「列名」:データベースから抽出する列名を指定します。
「変数」:抽出した結果を入力する変数を指定します。
④「ループ時に取得」:チェックありの場合、イテレーションごとにデータベースからデータを取得します。
チェックなしの場合、最初のイテレーションですべての結果をメモリに保存し、
メモリから必要なデータを取得します。
⑤「デザインモードで最初の行」:ループを開始する最初のイテレーションを指定します。
※SQL文の結果から確認して指定してください。
⑥「デザインモードで使用する行」:ループを終了する最大のイテレーションを指定します。
※SQL文の結果から確認して指定してください。
【注意点】
- SQL文の作成はサポート対象外になります。
- Query Database などループ処理ステップに対する Error Handling
- データベースを操作するステップは1ステップが1トランザクション
- 「変数マップ」に設定する「列名」はデータベースに登録されている列名でないとエラーとなります。
- 「ループ時に取得」にチェックありの場合、イテレーションが終了するまでデータベースにつないだ状態になるため、抽出中にデータベースに変更があったら影響を受ける可能性があります。
チェックがない場合、最初のイテレーション前にデータをメモリに保存し、メモリからデータを抽出します。データベース接続が最短の時間になるため、ほかの処理の影響を受けません。 - デバッグ モードでは、ループ中に取得を行うと、ブレークポイントで、またはシングルステッピング中に実行が停止している間、データベース接続はオープン状態にとどまります。アクティブでない接続に対するタイムアウトがデータベースで設定されている場合は、長い中断の後、ロボットの実行を再開すると、データベース エラーが発生することがあります。
- デザイン モードでは、結果行が常にループの開始前に取得されるため、「ループ時に取得」は無効となります。
【関連情報】
- BizRobo! miniでのローカルDBの設定方法
- SQL文を利用してデータを抽出する
- QueryDatabase(データベース照会)ActionでIntegerへ値(9223372036854775807 )を保存できない
※この記事は2021年2月15日にver10.4.0.2で作成したものです。
※本記事は初心者の方に分かりやすくご説明することを目的としております。
そのため、意図的に厳密な表現を避けている場合がございますのでご了承ください。