0

フォルダー内のすべてのファイルを処理する必要があります。このようなもの:

n を超える foreach ループ

fileprocess.exe -argument_n filename_n

各引数はファイル固有であり、テーブルから取得されます。ファイルをバッチ処理するには、ssis パッケージを設計する必要があります。foreach ループはそれに最適なようです。

ルックアップ変換を使用して、対応する引数を取得することを考えています。私の質問は

  • @[user::filename]ルックアップ変換に変数を供給する方法は?
  • ルックアップ出力をに割り当てる方法@[user::argument]
  • ルックアップ変換を使用するのが適切かどうか疑問に思っていますか?

どうもありがとう!

4

1 に答える 1

1

ファイル名と対応する引数の列を含むテーブルがあると仮定すると、要件を実装する 1 つの方法は次のとおりです。

  1. 下図のコンポーネントを制御フローに追加します。
  2. Foreach ループでは、Enumerator は Foreach File Enumerator に設定されます。ファイルはフォルダーから読み取られますが、任意の種類の列挙子を使用できます。
  3. ループのスコープに 2 つの変数を作成して、ファイル名と引数、たとえばfnamefargを保持します。Foreach ループ エディターの [コレクション] タブで、インデックス 0 を変数fnameに割り当てます。
  4. SQL 実行タスクで、特定のファイル名の引数を取得するクエリを記述します。変数fnameを入力パラメーターとして割り当て、結果セットを単一行に設定し、結果を変数fargに割り当てます。
  5. プロセス実行タスクで、変数fnamefargを実行可能ファイルの引数として渡します。 制御フロー タスク
于 2013-08-27T09:23:57.317 に答える