ループで実行できます。 しかし、心配しないで、ペンタホでそれを作るのは難しいことではありません。
まず第一に、あなたはあなたのループを作成するためにJOBを使用します。
START - >Transform_that_holds_parameters - >Transform_to_run_in_a_loop
あなたが想像できるように、あなたの変換が実行されます各DBに等しくこのフローの最後のものがあります。しかし、そのジョブエントリに2つの高度なフラグを設定する必要があります。
- すべての入力行に対して実行しますか?
- 前の結果をパラメータにコピーしますか?
その後、我々は次のような構造を持つ私たちのTransform_that_holds_parametersを構築する必要があります:
Some_sort_of_input - > copy_rows_to_result
ここでは、それがExcelファイルも、どこかからのすべての接続パラメータをつかむ必要がありますまたは別のデータベースのテーブルしかし、いったんこのデータをグラデーションしたら、変換を実行するデータベースごとに1行を持っていることを確認してください。
「行を結果にコピーする」ステップに接続すると、このステップでデータがJOBに返されます。覚えていれば、次の変換は「すべての入力行に対して実行」および「前の結果をパラメータにコピー'
ここで、変換の最後のステップに進む列名は何かを覚えておいてください。次のステップでそれらを必要とします。
は戻って私たちの仕事に取得し、Transform_to_run_in_a_loop、オープンパラメータのプロパティに移動し、私たちは結果にコピーされた列の列「パラメータ」と「ストリーム列名」を入力します。
変換の中で、同じパラメータを同じ名前で設定する必要があります。接続設定でこれらのパラメータを使用します。
完了すると、すべてのパラメータを設定した最初の変換と、それぞれのデータベース設定で実行している2番目の変換が行われます。
"しかし、それはcsvの行を受け入れるだけです" - それはどういう意味ですか?これは+100行(各行は特定のDBに接続の詳細を保持します)することができます。変数に接続の詳細を設定し、その後にサブトランスフォーメーションを実行します。ディレクトリ$ KETTLE_HOMEに例があります。/ substitutionを使う方法の例です – simar