2017-06-27 19 views
0

私は、別のテーブルのレコード数でシングルフラットファイル(abc.txt)をロードする必要があるシナリオを持っています。 例: パッケージ1:テーブル1のレコード数を取得してレコードセットにロードするデータフロータスクがあります。次に、フラットファイル接続マネージャを使用してレコードセット値がabc.txtに書き込まれます。SSISにフラットファイル(.txt)を同時にロード

パッケージ2には、テーブル2のレコード数を取得してレコードセットにロードするデータフロータスクがあります。次に、フラットファイル接続マネージャを使用してレコードセット値がabc.txtに書き込まれます。

パッケージ3:テーブル3からのレコード数を取得してレコードセットにロードするデータフロータスクがあります。次に、フラットファイル接続マネージャを使用してレコードセット値がabc.txtに書き込まれます。

パッケージ1、パッケージ2、パッケージ3を3種類のパッケージ実行タスク(実行パッケージタスク1、実行パッケージタスク2、実行パッケージタスク3)と呼ぶマスターパッケージがあります。パッケージの実行タスクは並行して実行されます。 パッケージを実行すると、パッケージ実行タスク(1/2/3のいずれか)が失敗し、ファイルabc.txtを開くことができません。それは、異なるパッケージから同時に同じ宛先ファイルを書き込もうとしているか、それとも他の理由でですか?別のパッケージが同じ宛先のフラットファイルに同時に書き込むことができるような方法はありますか?

おかげ

+0

パッケージをマスターパッケージなしで独立して作成し、SQLジョブエージェントなどのシーケンスで3つのパッケージを実行して、以前のパッケージが完了していることを確認しましたか? – Cenderze

答えて

0

は、すべての3つのパッケージは、並行して同じファイルに書き込みをしようとしています。複数のソースから同じ宛先フラットファイルを同時に書き込むことはできません。
レコード数をフラットファイルに直接書き込むのではなく、すべてのレコード数を変数に集約し、この変数の値をフラットファイルに1回だけ書き込むことができます。

+0

ありがとう...それは動作します。 – user3048456

+0

それはあなたのために働いてうれしい:)それはあまりにも他の人を助けるかもしれないとして答えとしてマークしてください! – Cylar

関連する問題