このタスクについて
同じデータベース接続を使用するさまざまなジョブがある場合は、[Use or register a shared DB Connection] (共有データベース接続の使用または登録)オプションを使用して接続を分解し、接続を親ジョブと子ジョブで共有できます。
このオプションは、データベースを開いたり閉じたりする際の接続回数を減らすために、すべてのデータベース接続コンポーネントに追加されています。
警告: すべてのデータベース接続コンポーネントの[Use or register a shared DB Connection] (共有データベース接続の使用または登録)オプションは、tRunJobコンポーネントの[Use dynamic job] (ダイナミックジョブの使用)および[Use an independent process to run subjob] (サブジョブを独立したプロセスで実行)オプションとは互換性がありません。tRunJobコンポーネントのこれら2つのいずれかのオプションを有効にして共有データベース接続を使用すると、ジョブが失敗する原因となります。
次の手順では、リモートMySQLデータベースに接続する必要がある2つの関連ジョブがあると仮定します(親ジョブと子ジョブ)。
詳細なユースケースは、MySQLをご覧ください。
この2つのジョブで共有データベース接続を使用するには、次の手順に従います。
手順
- 親ジョブと子ジョブがデータベース接続コンポーネントを使用していない場合、tMysqlConnectionをその両方に追加します(MySQLデータベースで処理することを前提とします)。
-
[Trigger] (トリガー) > [On Subjob Ok]リンクを使用して、それぞれのtMysqlConnectionをジョブの関連コンポーネントに接続します。
- 最初に実行されるtMysqlConnectionコンポーネントの[Basic settings] (基本設定)ビューで、データベース接続が一元的に[Repository] (リポジトリー)に保存されていない場合は、データベース接続の詳細を入力します。
-
[Use or register a shared DB Connection] (共有データベース接続の使用または登録)チェックボックスをオンにして、[Shared DB Connection Name] (共有データベース接続名)フィールドに接続の名前を入力します。
これで、子ジョブに接続を再利用できるようになりました。
-
別のジョブ内の別のtMysqlConnectionコンポーネントの[Basic settings] (基本設定)ビューで、[Use or register a shared DB Connection] (共有データベース接続の使用または登録)チェックボックスをオンにして[Shared DB Connection Name] (共有データベース接続名)フィールドに親ジョブと同じ接続名を入力します。
注:
同じデータベース接続を共有する異なるジョブの中で、データベース接続の詳細を定義してデータベース接続を開く必要があるのは、最初のジョブのみです。