実行時の SQL Command の指定

この手順では、SQL Command の実行時オプションをサポートするようにデータフローを設定する方法と、そのための Job Executor の引数の指定方法について説明します。

  1. Enterprise Designer でデータフローを開きます。
  2. 埋め込まれたデータフロー内のステージに対して実行時オプションを設定する場合は、埋め込まれたデータフローを開きます。
  3. ツールバー上のデータフロー オプション アイコンをクリックするか、[編集] > [データフロー オプション] をクリックします。[データフロー オプション] ダイアログ ボックスが表示されます。
  4. [追加] をクリックします。[データフロー オプションの定義] ダイアログ ボックスが表示されます。
  5. SQL Command ステージを展開します。
  6. SQL Command オプションを選択します。[PreSqlCommand][SqlCommand]、または [PostSqlCommand] を選択できます。
    PreSqlCommand
    ステージに入力されるレコードが処理される前に実行する SQL 文を入力します。これらの SQL 文は、データフローの実行が開始されてから SQL Command ステージで最初のレコードが処理されるまでの間に、実行あたり 1 回実行されます。
    プリ SQL の使用例としては、処理されるレコード用のテーブルを作成することがあります。
    SqlCommand
    データフローで各レコードに対して実行する SQL 文です。
    PostSqlCommand
    すべてのレコードが処理された後に実行する SQL 文です。これらの SQL 文は、SQL Command ステージが終了してからデータフローが終了するまでの間に、実行あたり 1 回実行されます。
    例えば、ポスト SQL を使うと、レコードを処理した後にインデックスを構築できます。
    選択した SQL Command オプション名が、[オプション名] フィールドと [オプション ラベル] フィールドに表示されます。このオプションを設定するには、実行時にこのオプション名を指定する必要があります。
  7. [説明] フィールドにオプションの説明を入力します。
  8. [ターゲット] フィールドで、[選択ステージ] オプションを選択します。
  9. 実行時に指定できる値を制限するには、[有効値] フィールドのすぐ右にあるアイコンをクリックしてオプションを編集します。
  10. デフォルト値を変更する場合は、[デフォルト値] フィールドに別の値を指定します。
    注: サービスの場合、デフォルト値はサービスを最初にエクスポーズする前にしか変更できません。サービスをエクスポーズした後は、Enterprise Designer を使用してデフォルト値を変更することはできません。代わりに、Management Console を使用する必要があります。詳細については、「 デフォルト サービス オプションの指定」を参照してください。
  11. [OK] をクリックします。
  12. 必要に応じて、オプションの追加を続けます。
  13. オプションの追加を終えたら、[データフロー オプション] ダイアログ ボックスの [OK] をクリックします。
  14. データフローを保存してエクスポーズします。
  15. 実行時に使用したい SQL 文を含むテキスト ファイルを作成します。
    テキスト ファイルは次のようになります。
    SqlCommand = UPDATE CustomersSET 
    ContactName='Alfred Schmidt'
    City='Hamburg'
    WHERE CustomerName='Alfreds Futterkiste';

    この例では、SqlCommand は SQL Command ステージのオプション名の 1 つです。

  16. Job Executor をコマンド ラインから実行するときは、-o 引数を使用します。
    java -jar jobexecutor.jar -h "noipa019sh-l1" -u "admin" -p "admin" -s "8080" -o "options.txt" -j "FetchOracleData" -w
    ファイル名 (options.txt) では、ステップ 14 で作成したテキスト アイルの名前を指定します。