0

月に 1 回実行され、指定されたパスを介して実行され、さまざまな XML ファイルを反復処理し、その内容を SQL Server データベースに挿入する作業中の SSIS タスクがあります。

その SSIS タスクのルールを決定する担当者との前回の会議では、期待されるすべてのファイルがパス上に存在するまでタスクを実行できないと述べられました。問題のファイルの数は 35です。その名前はTUPSTATUS_SXX.xmlで、XXは01 から 35までの数(ブラジルでは 35 の電気通信セクター) を表します。これらのファイルは、各セクターを運営する通信会社によって生成されます。

ですから、私の質問は、ディレクトリに 35 個のファイルがすべて存在する場合にのみ SSIS タスクを実行する方法です。

4

2 に答える 2

2

SSIS プロセスが継続的に実行されているフォルダーでビジーな待機を行う代わりに、ファイル システムの条件でトリガーされる FileSystemWatcher をセットアップしてみませんか。これを使用して、SSIS パッケージを呼び出します。このウォッチャーをサービス (長時間必要な場合) または単純なアプリケーションのいずれかに実装できます。

もう 1 つの方法は、タスク スケジューラから呼び出される単純なアプリケーション/スクリプトを使用してカウントをチェックすることです。

于 2012-05-03T10:30:27.513 に答える
1

フォルダー内のファイルをカウントするスクリプト タスクを使用し、35 個のファイルが存在する場合にのみ、パイプラインのさらに下に実行することができます。ただし、ファイルが大きく、FTP で転送されている場合、最終ファイルが存在する可能性がありますが、その時点では完全に転送されていません。

于 2012-05-02T14:47:41.090 に答える