データベース操作

Version 23.4.8843


データベース操作


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

以下の例は、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 トランザクションの識別子。