3.5.4.3. OpenRPA.Database

ここでは、OpenRPA.Databaseのツールボックス内にあるアクティビティを紹介します。

データベースの範囲

接続を開き、その範囲内のすべてのアクティビティが終了したら接続を終了することによって、データの照会、挿入、更新、削除に使用されるデータベースを選択します。詳細な例は、OpenRPA.Database Activities, DataTable, DataViewのセクションに記載されています。

プロパティパラメータ

ConnectionString– データベースへの接続に使用されるConnectionString(https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection.connectionstring?view=dotnet-plat-ext-3.1) です。例としては、「Server=localhost;Port=3306;Database=using_datatables;Uid=root;Pwd='life is fine 9#';」となります。

DataProvider– 指定されたデータベースで使用されるプロバイダ。MySQLのデフォルトは"MySql.Data.MySqlClient" です。

DataSource– データを収集するために使用されるデータベース スキーマの名前です。

DisplayName– シーケンス内のアクティビティーのタイトル。

Timeout– 接続が完了するまでの待ち時間。この時間まで接続が完了しない場合、アクティビティは外部シーケンス内の他を通過していきます。 単純な00:00:00.00 {hh:min:ss.mili}またはTimeSpanクラスのオブジェクトにすることができます。

images/openrpa_database_scope.png

OpenRPA.Databaseデータベースの範囲.

非クエリーの実行

INSERTUPDATEDELETEステートメントに有用な、結果を返さないクエリを実行します。Resultの値は、このコマンドによって影響を受けた行の数である。影響を受ける行がない場合は、0を返します。

プロパティ パラメータ

Query– 実行されるクエリ。

activity_displayname– シーケンス内のアクティビティタイトル.

CommandType– デフォルトはTextに設定されており、Queryフィールドの中のコマンドが実行されることを意味します。StoredProcedureに設定すると、Query内のテキストはストアドプロシージャの名前である必要があります。TableDirectに設定すると、Execute メソッドを呼び出したときに、指定したテーブルのすべての行と列が返されます。

Result– 実行されたクエリの出力(Int32)。

images/openrpa_execute_non_query.png

OpenRPA.Databaseの非クエリ実行.

クエリーの実行

クエリを実行し、その結果をDataTableとして返します。SELECTステートメントと一緒に使うと便利です。

プロパティパラメータ

Query– 実行されるクエリ。

activity_displayname– シーケンス内のアクティビティタイトル.

CommandType– デフォルトはTextに設定されており、これはQueryフィールド内のコマンドが実行されることを意味します。StoredProcedureに設定すると、Query内のテキストはストアドプロシージャの名前である必要があります。TableDirectに設定すると、Execute メソッドを呼び出したときに、指定したテーブルのすべての行と列が返されます。

DataTable– クエリの結果を保存するDataTableオブジェクト。

images/openrpa_execute_query.png

OpenRPA.Databaseの実行クエリ.

備考

OpenRPAでは、DataTableは値を保持するために使われる2次元の非シリアライズ可能なオブジェクトに相当します。これはij列の行列と考えることができます。i行は.Rows(n)属性でアクセスできます。nはアクセスしたい行の番号です(0から始まる)。j列には、.Item(n)属性を使ってアクセスします。nは、アクセスしたい列の番号-0から始まる-です。ここで、ユーザがRows属性にアクセスしなければならないことを思い出してください。したがって、ユーザがデータ テーブルの 3 行目の 2 列目にアクセスしたい場合は、.Rows(2).Item(1)属性を使用することになります。

スカラ<>を実行する

集約関数など、ちょうど1つの結果を返すクエリを実行します。SUMAVGMAXMINCOUNT などの集約関数のように、ちょうど1つの結果を返すクエリを実行します。

プロパティパラメータ

Query– 実行されるクエリ。

activity_displayname– シーケンス内のアクティビティタイトル.

ArgumentType– 返される結果のタイプ。

CommandType– デフォルトはTextに設定されており、これはQueryフィールド内のコマンドが実行されることを意味します。StoredProcedureに設定すると、Query内のテキストはストアドプロシージャの名前である必要があります。TableDirectに設定すると、Execute メソッドを呼び出したときに、指定したテーブルのすべての行と列が返されます。

Result– 実行されたクエリの結果出力。- は、ArgumentType のように型が定義されている。

images/openrpa_execute_scalar.png

OpenRPA.Databaseの実行スカラー<>.

DataTableからの更新

指定されたDataTableに含まれるデータをSQL テーブルに 追加します。

SELECT * from ${TABLE} ;"ステートメントを使用して、クエリー実行アクティビティでデータテーブルを選択する必要があります。次に、AddDataRowアクティビティで行を追加してデータを変更し、最後に上記の方法で更新することができます。

ヘッダーとコンテンツはSQL テーブルのものと一致させなければならないことをユーザーに伝えることが重要である。

物件紹介

更新 したい データの あるDataTable– 自明です

TableName– 行を挿入するテーブル.

activity_displayname– シーケンス内のアクティビティのタイトルです。

結果– 影響を受ける行の数。

images/openrpa_update_from_datatable.png

OpenRPA.DataTable.Baseからのデータベース更新