BizRobo! miniは、データベースとしてApatchの「derby」を使っています。ログ出力した内容も、このデータベースに保存されます。RPAの運用担当者としては、ロボットのログをExcelかなんかに出力して統計情報を作成したいのではないでしょうか。BizRobo!のderbyデータベースからログ出力内容を抽出する方法を実験したので紹介します。
ログ取得

1.derbyにJDBCで接続するツールを使う方法

【使用ツールとインストール手順】
derbyにJDBCで接続するツールは「squirrel」を使いました。インストール手順などは、下記【参考ブログ】の内容を確認してください。ただし、下記【参考ブログ】では、JDBCドライバーの入手方法の説明がないので、私のJDBCドライバーの入手方法と、「squirrel」でドライバーを設定するときの設定方法を紹介します。

【制限事項】
RoboServerが立ち上がっていると参照できないので、RoboServerを止めないと、この方法では参照できません。

■JDBCドライバーの入手方法
(1)http://db.apache.org/derby/からderbyのzipファイルをダウンロード
  私がダウンロードしたときの最新版は「db-derby-10.15.2.0-bin.zip」でした。
(2)(1)でダウンロードしたファイルを解凍して、フォルダごとCドライブ直下に移動
  C:\db-derby-10.15.2.0-bin

■「squirrel」でドライバーを設定するときの設定方法
「C:\db-derby-10.15.2.0-bin」の下位フォルダ「lib」にある「derby.jar」と「Local_ja_JP.jar」を[追加クラスパス]タブに追加します。
JDBCドライバー追加
「squirrel」のインストールとJDBCドライバの設定が終わったら、次は、「squirrel」でBizRobo!のderbyデータベースに接続します。
ログ出力先のデータベースのURLは、BizRobo! 10.4.0.1では「C:\Users\(ユーザー名)\AppData\Local\Kapow\10.4.0.1_255\DevelopmentDatabase\logdb」になっています。
(ユーザー名)は、Windowsのユーザー名です。私の場合は「masuo」なので、データベースのURLは、「C:\Users\masuo\AppData\Local\Kapow\10.4.0.1_255\DevelopmentDatabase\logdb」ということになります。

■データベース接続とSQL実行
データベースのURLが分かったら、接続先の設定は簡単で、以下のようになります。
JDBC接続先設定
接続に成功したら、あとはSQL文で対象テーブルから必要な項目を選択するだけです。

ここでは、SQL文で「ログ出力時刻」、「ロボット名称」、「ログ出力内容」を選択する例を紹介します。対象テーブルは「ROBOT_RUN」と「ROBOT_MESSAGE」です。
JDBCSQL
ロボット名称:ROBOT_RUN.ROBOTNAME
ログ出力時刻:ROBOT_MESSAGE.TIME
ログ出力内容:ROBOT_MESSAGE.MESSAGE

SQLの実行が成功したら、結果の一覧にマウスを移動して、右クリックして「Select All」を選択後、再度右クリックして[Export CSV/MS Excel/JSON...]を選択します。
JDBCExport
ファイルパスを指定するダイアログが表示するので、パスを入力して[OK]をクリックします。
JDBCExportSave
「Export complete」ダイアログが表示したら完了です。
JDBCExportComplete

【参考ブログ】
Squirrel SQL ClientをApache Derby(JavaDB)のフロントエンドに使ってみる
derbyにJDBCで接続するツール「squirrel」のインストール手順を紹介しています。大変参考になりました。

2.BizRobo!の「データベース照会」機能を使う方法

2-1データベースの定義
[Design Studio設定] - [ローカルデータベース]にログ出力で使っているデータベースを定義します。

logdb設定
[スキーマ]、[ユーザー名]を、それぞれ「logdb」、「KAPOW」にします。パスワードが空欄だとエラーになりますが、空欄じゃなければOKみたいです。「1」とか適当に入力します。
データベースビューに、[スキーマ]に入力した「logdb」が表示されます。
logdb設定2

2-2フロー作成
完成形はこんな感じです。
logdbフロー作成
(1)Excelファイルに出力するときの項目をイメージしたtype定義
logdb_type
(2)データベースマッピング
logdb_データベースマッピング
(3)フローで使用する変数の定義
logdb_変数
(4)フロー
logdb_フロー
ここでは、「データベース照会」ステップについて、設定内容を紹介します。
logdb_アクション
 KCU wait-timeを調べたかったので、[SQLクエリ]は下記としています。
"SELECT B.TIME, A.ROBOTNAME, B.MESSAGE, B.MESSAGEDETAILS FROM ROBOT_RUN as A, ROBOT_MESSAGE as B WHERE A.EXECUTIONID = B.EXECUTIONID and B.MESSAGE like 'Execution statistics%'"
【注意】SQL文を引用符「"」で囲まないといけないようです。

■derbyデータベースのテーブル名と列名
テーブル名と列名は、こちらのページに記載しました。

■所感
いきなりBizRobo!の「データベース照会」機能を使ってフローを作成しようとしても、データベースのスキーマ、テーブル、列名などが分からないので、全く手が出ませんでした。そんなときに、derbyにJDBCで接続するツールは「squirrel」を使ってみて、謎が解けました。