Home > リファレンスガイド > 設定 > サービス > DBトリガーサービス

DBトリガーサービス

 

トリガーサービスは、データベーストリガーを使用してデータベース内のCRUD操作をキャプチャするメカニズムを提供します。ユーザーは、選択したデータベースの複数のテーブルの作成、更新、削除イベントをキャプチャし、これらのイベントに基づいてフローをトリガーできます。

このため、ユーザーはデータベース接続の詳細を提供し、作成、更新、および削除イベントをキャプチャする必要があるテーブルを追加する必要があります。 イベントの下に複数のテーブルをグループ化できます。 これらのイベントは、フローに定義されたトリガーによって使用されます。

DB Triggerサービスには、次のパラメーターが含まれています。 太字のパラメーターは必須です。

パラメータ

説明

JDBC URL

データベースに接続するためのJDBC URLを入力します。 JDBC URLは、環境変数を使用して選択することもできます。

JDBC URLには、データベースサーバーのJDBC URLが含まれている必要があります。オプションで、データベース名、ユーザー名、パスワードを必要な形式で含めることができます。

MySQLデータベースのスキーマ名に英文字でない文字が含まれている場合、JDBC URLのcharacterEncoding をutf8にする必要があります。以下を参考にしてください。

jdbc:mysql://<Host>:<Port>/<DbName>?characterEncoding=utf8

サポートされているフォーマットと用例については、サポートされているJDBC URL フォーマットを参考にしてください。

データベース名

データベース名を入力します。 データベース名がJDBC URLの一部として定義されている場合、このフィールドは空白のままにすることができます。

ここに入力したデータベース名は、JDBC URLで指定したデータベース名よりも優先されます。

ユーザ名

データベースに接続するためのユーザー名を入力します。 ユーザー名がJDBC URLの一部として定義されている場合、このフィールドは空白のままにすることができます。

ここに入力したユーザー名は、JDBC URLで指定したユーザー名よりも優先されます。

パスワード

データベースで認証するためのパスワードを入力します。 ユーザー名がJDBC URLの一部として定義されている場合、このフィールドは空白のままにすることができます。

ここで入力したパスワードは、JDBC URLで指定したパスワードよりも優先されます。

クリーンアップ期間(日数)

クリーンアップ期間の値を日数で入力します。この値は、処理されてクリーンアップ経過時間を過ぎたイベントをクリーンアップするために使用されます。

デフォルトでは、クリーンアップは午前0時に行われます。 または、ユーザーはクリーンアップ時間の明示的な値を1〜24の範囲で設定できます。  

デフォルト値を変更するには、Magic.iniファイルのJVM_ARGにdbtrigger.clean.atプロパティを追加します。

クリーンアップ期間の値が空の場合、デフォルトでは実行時に1日に設定されます。

 

DB Triggerサービスには、次のボタンもあります。:

名前

説明

検証

検証ボタンは、最初にデータベースパラメータに基づいてデータベースへの接続を試みます。接続が成功すると、トリガーアクションテーブルがデータベースに存在するかどうかがチェックされます。 トリガーテーブルがデータベースに存在しない場合は、テーブルが作成されます。

データベース接続が成功し、トリガーテーブルが作成されると、成功メッセージが表示されます。

イベント

このボタンをクリックして、[トリガーイベント]ダイアログを開きます。 データベース定義が検証されない場合は、イベントが最初に検証されます。

 

DBトリガーサービスは、それぞれのJDBCドライバーを使用してさまざまなデータベースに接続します。 Magic xpiのインストールには、サポートされているすべてのJDBCドライバーが含まれているわけではありません。 必要に応じて、ユーザーが手動で準備する必要があります。 JDBCトリガーのjarファイルは、DBトリガーサービスを作成する前に、<Magic xpi インストールフォルダ>\Runtime\Java\DatabaseDriversに配置する必要があります。

トリガーアクションテーブル

トリガーイベントダイアログで、ユーザーは、作成、更新、削除イベントなどの、キャプチャする必要があるテーブルを追加します。すべてのイベントが追加されると、データベースにトリガーを作成するためのテンプレートスクリプトが生成されます。 このスクリプトはトリガーアクションテーブルを使用して、キャプチャされたCRUDイベントを格納します。このテーブルは、DBトリガーによって実行時にポーリングされます。処理される行には、クリーンアップのマークが付けられます。 これらのレコードは、定義されたクリーンアップ期間を過ぎるとテーブルから削除されます。

テーブル内のレコードは、以下の規則に基づいて処理されます:

  • 実行時にプロジェクトを実行する前。 トリガーアクションテーブルがデータベースに存在し、必要なすべてのトリガーが(生成されたスクリプトを使用して)トリガーイベントで選択されたテーブルに作成されていることを確認します。

  • Oracleデータベースの場合、TriggerActionテーブルでdropコマンドを実行した後、TRIGGERACTION_ACTIONID_SEQという名前のシーケンスも削除する必要があります。
    テーブルとシーケンスを削除するには、次のデータベースコマンドを使用します。

  • DROP TABLE TriggerAction;

  • DROP SEQUENCE TRIGGERACTION_ACTIONID_SEQ;

サポートされるデータベース

DBトリガーサービスは、下記のデータベースをサポートします。:

 以下は、Magicxpi用に認定されたサポートされているデータベースドライバーのリストです。これは完全なリストではなく、他の互換性のあるドライバーも機能する可能性があります。

データベース

ドライバ名 JARファイル

MSSQL

sqljdbc4-4.0.jar

MySQL

mysql-connector-java-5.1.41.jar

Oracle

ojdbc7.jar

PostgreSQL

postgresql-42.2.6.jre7.jar

DB2/400

Jt400.jar

DB2

db2jcc4.jar

db2jcc.jar

db2jcc_license_cu.jar

 

(Since version: 4.13)

関連トピック

トリガーイベント