ANSWERループは、ファイルを抽出し、
私はフォルダ内の各ファイルをインポートするには、正しい流れを考え出すのトラブルを抱えている以下の各ファイルには、テーブルにリピート流れを名前を追加しますファイル名の一部のみを使用するようにファイル名でスクリプトを実行し、次にマスター表に挿入します。
私は必要なすべての部分を持っています:私は、Foreachループを使ってすべてのファイルをループし、ファイル名を変数として取ることができます。 Foreachコンテナの内部には、レコードをフラットファイルからSQLテーブルにインポートするためのデータフロータスクがあります。ループの外に出て、私の次のステップは、スクリプトを実行して、必要なファイル名の部分を取得することです。最後のステップは、変換を実行してレコードをMasterStageFinalテーブルに移動するSQLクエリです。
Foreachループは、各ステップを一度実行し、列挙ごとにシーケンス全体を実行する代わりに、各ステップを列挙子に等しい回数実行します。
たとえば、フォルダには250個のレコードと500個のファイルの2つのファイルがあります。現在のフローではデータベースに1500レコードが挿入されます(列挙により2つのファイルが両方ともインポートされます) 1つのファイルからの番号
どうすればこの問題を解決できますか?
Foreachループプロパティは
代わりにコードを表示した方が便利です。あなたの説明は大丈夫ですが、翻訳には何かが欠けているかもしれません。 –
各ループのスクリプトタスクを実行してforeachに含める場合 –
このようなものをデバッグする最も良い方法はfor-eachループで 'Exec Script Task'を使用して実行前に変数を出力することです:' MessageBox.Show (Dts.Variables ["User :: variableName"]。Value.ToString()); ' –