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」を[追加クラスパス]タブに追加します。
「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が分かったら、接続先の設定は簡単で、以下のようになります。
接続に成功したら、あとはSQL文で対象テーブルから必要な項目を選択するだけです。
ここでは、SQL文で「ログ出力時刻」、「ロボット名称」、「ログ出力内容」を選択する例を紹介します。対象テーブルは「ROBOT_RUN」と「ROBOT_MESSAGE」です。
ロボット名称:ROBOT_RUN.ROBOTNAME
ログ出力時刻:ROBOT_MESSAGE.TIME
ログ出力内容:ROBOT_MESSAGE.MESSAGE
SQLの実行が成功したら、結果の一覧にマウスを移動して、右クリックして「Select All」を選択後、再度右クリックして[Export CSV/MS Excel/JSON...]を選択します。
ファイルパスを指定するダイアログが表示するので、パスを入力して[OK]をクリックします。
「Export complete」ダイアログが表示したら完了です。
【参考ブログ】
Squirrel SQL ClientをApache Derby(JavaDB)のフロントエンドに使ってみる
derbyにJDBCで接続するツール「squirrel」のインストール手順を紹介しています。大変参考になりました。
2.BizRobo!の「データベース照会」機能を使う方法
2-1データベースの定義
[Design Studio設定] - [ローカルデータベース]にログ出力で使っているデータベースを定義します。
[スキーマ]、[ユーザー名]を、それぞれ「logdb」、「KAPOW」にします。パスワードが空欄だとエラーになりますが、空欄じゃなければOKみたいです。「1」とか適当に入力します。
データベースビューに、[スキーマ]に入力した「logdb」が表示されます。
2-2フロー作成
完成形はこんな感じです。
(1)Excelファイルに出力するときの項目をイメージしたtype定義
(2)データベースマッピング
(3)フローで使用する変数の定義
(4)フロー
ここでは、「データベース照会」ステップについて、設定内容を紹介します。
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」を使ってみて、謎が解けました。
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」を[追加クラスパス]タブに追加します。
「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が分かったら、接続先の設定は簡単で、以下のようになります。
接続に成功したら、あとはSQL文で対象テーブルから必要な項目を選択するだけです。
ここでは、SQL文で「ログ出力時刻」、「ロボット名称」、「ログ出力内容」を選択する例を紹介します。対象テーブルは「ROBOT_RUN」と「ROBOT_MESSAGE」です。
ロボット名称:ROBOT_RUN.ROBOTNAME
ログ出力時刻:ROBOT_MESSAGE.TIME
ログ出力内容:ROBOT_MESSAGE.MESSAGE
SQLの実行が成功したら、結果の一覧にマウスを移動して、右クリックして「Select All」を選択後、再度右クリックして[Export CSV/MS Excel/JSON...]を選択します。
ファイルパスを指定するダイアログが表示するので、パスを入力して[OK]をクリックします。
「Export complete」ダイアログが表示したら完了です。
【参考ブログ】
Squirrel SQL ClientをApache Derby(JavaDB)のフロントエンドに使ってみる
derbyにJDBCで接続するツール「squirrel」のインストール手順を紹介しています。大変参考になりました。
2.BizRobo!の「データベース照会」機能を使う方法
2-1データベースの定義
[Design Studio設定] - [ローカルデータベース]にログ出力で使っているデータベースを定義します。
[スキーマ]、[ユーザー名]を、それぞれ「logdb」、「KAPOW」にします。パスワードが空欄だとエラーになりますが、空欄じゃなければOKみたいです。「1」とか適当に入力します。
データベースビューに、[スキーマ]に入力した「logdb」が表示されます。
2-2フロー作成
完成形はこんな感じです。
(1)Excelファイルに出力するときの項目をイメージしたtype定義
(2)データベースマッピング
(3)フローで使用する変数の定義
(4)フロー
ここでは、「データベース照会」ステップについて、設定内容を紹介します。
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」を使ってみて、謎が解けました。
コメント
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。