データベース操作


データベース操作


データベースオペレーションでは、データベースに接続し、データベースに対してクエリを実行できます。これらのオペレーションは、ジョブ実行後の変換の適用、ロギングシステムの作成など、多くのことに使用できます。

以下の例は、Post Job イベントでdbNonQuery オペレーションを使用して、ジョブの結果を記録する新しい行を挿入します。

<api:info title="After Run" desc="このイベントはジョブを実行した後に発生します。">
  <input name="JobName"         required="true" desc="実行されたジョブの名前。" />
  <input name="Source"          required="true" desc="ソース接続の名前。" />
  <input name="Destination"     required="true" desc="同期先接続の名前。" />
  <input name="JobStatus"       required="true" desc="完了した実行のステータス。"/>
  <input name="Query#"          required="true" desc="実行された各クエリを含む配列。" />
  <input name="QueryStatus#"    required="true" desc="実行された各クエリのステータスを含む配列。" />
</api:info>

<api:set attr="db.driver"  value="System.Data.SqlClient"/> 
<api:set attr="db.conn"   value="Data Source=sqlserver;Initial Catalog=Test;User ID=user;Password=pass;"/> 
<api:set attr="db.query">
INSERT INTO MyLog (JobName, RunDate, Results) VALUES ('[_input.JobName]', '[null | now()]', '[_input.JobStatus]')
<api:set/>
<api:call op="dbNonQuery" in="db"/>

オペレーション

dbListTables

データベースのテーブルをリストします。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
インプット属性(オプション) 説明
includesystemtables システムテーブルを含めるかどうか。True またはFalse が使用可能です。デフォルト値は’False’ です。
schema テーブルが属するスキーマ。
アウトプット属性 説明
db:name テーブル名。
db:type テーブルの型。
db:schema テーブルが属するスキーマ。
db:catalog テーブルが属するカタログ。

dbListColumns

テーブルまたはビューのカラムをリストします。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
table カラムをリストするテーブル(またはビュー)。
インプット属性(オプション) 説明
schema テーブルが属するスキーマ。
アウトプット属性 説明
db:columnname カラム名。
db:datatype カラムのデータ型。

dbQuery

データベースに対してクエリを実行します。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
query 実行するSQL クエリ文字列。
インプット属性(オプション) 説明
commandtimeout オペレーションが完了するまでのCommandTimeout(秒)。ゼロ(0)はタイムアウトなしを意味します。この属性のデフォルトは60です。
paramname# SQL ステートメント内のパラメータ名。
paramValue# SQL ステートメント内のパラメータ値。
アウトプット属性 説明
db:* クエリによりアウトプットは異なります。

dbNonQuery

データベースに対してノンクエリを実行します。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
query 実行するSQL クエリ文字列。
インプット属性(オプション) 説明
commandtimeout オペレーションが完了するまでのCommandTimeout(秒)。ゼロ(0)はタイムアウトなしを意味します。この属性のデフォルトは60です。
paramname# SQL ステートメント内のパラメータ名。
paramValue# SQL ステートメント内のパラメータ値。
アウトプット属性 説明
db:* クエリによりアウトプットは異なります。

dbCall

データベースでストアドプロシージャを実行します。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
Sp ストアドプロシージャの名前。
インプット属性(オプション) 説明
commandtimeout オペレーションが完了するまでのCommandTimeout(秒)。ゼロ(0)はタイムアウトなしを意味します。この属性のデフォルトは60です。
dynamic ストアドプロシージャの種類。動的ストアドプロシージャの場合はtrue。デフォルト値は’false’ です。
inparam:* Null ではない値のストアドプロシージャのインプットパラメータ。
outparams カンマ区切りのストアドプロシージャのアウトプットパラメータ。
paramtype:* 指定されたデータカラムのデータ型。
paramsize:* 指定されたデータカラムのカラムサイズ。
アウトプット属性 説明
db:* ストアドプロシージャによってアウトプットは変わります。

dbBeginTransaction

データベースでトランザクションを開始します。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
インプット属性(オプション) 説明
transactiontimeout トランザクションのタイムアウト(秒)。ゼロ(0)はタイムアウトなしを意味します。デフォルト値は60です。
transactionid トランザクションのID。

dbEndTransaction

コミットまたはロールバックによってトランザクションを終了します。

インプット属性(必須) 説明
driver Java 版ではJDBC ドラーバーのクラス名、.NET 版ではADO.NET プロバイダー名。
conn 接続文字列またはデータベースURL。
transactionaction トランザクションのアクション。commit またはrollback が使用可能です。
インプット属性(オプション) 説明
transactionid トランザクションのID。