2012-02-21 12 views
0

さまざまなストアドプロシージャを実行し、ファイルを作成し、別のシステムにアップロードできる場所に配置するSSISパッケージ(VS 2008を使用)を作成しています。パッケージは毎月実行され、実行されるたびに約9つのファイルが作成されるため、パッケージに前月のファイルを保存してアーカイブしたいと考えています。また、これらのファイルには、実行された日付を含む名前が付けられます。これらのファイルの実行を制御することはできないため、毎月同じ日に実行されるとは思いません。SSISパッケージの変数をテキストファイルの行に設定するにはどうすればよいですか?

これを実行する最善の方法は、lastrundateという変数を作成して、それが実行するパッケージのたびに最終実行日で更新されるテキストファイルからデータを入力することだと考えました。問題は、ユーザー変数の値をテキストファイルの情報に設定する方法がわかりません。

また、Visual StudioのセットアップではVBに変更できないため、C#を使用する必要があることに注意してください.C#で作業したことがないため、全面的に不利です。

+0

「Edit Script ...」をクリックするまで、デフォルトの言語「Microsoft Visual C#2008」から「Microsoft Visual Basic 2008」に切り替えることができるはずです。いずれにしても、記載されている。この問題を解決するには、ファイル名に日付/タイムスタンプが埋め込まれている場所で、以前に作成したファイルをアーカイブ(移動)する仕組みを探しています。それが正確か、ファイルのN行目に基づいて変数を割り当てる方法を知りたいのですか? – billinkc

+0

はい、正確です。私はこれを行う最も簡単な方法は、以前に作成されたファイルのファイル名を決定する変数を使用すると考えていた。あなたはどうしますか?また、チップのおかげで、編集スクリプトをクリックして言語を変更しようとしていました。この問題の一部である – DataGirl

答えて

0

プロセスが実行されるたびにファイルをアーカイブする場合は、 'default'ディレクトリのファイルをループして、日付(日付/時刻)ディレクトリ(パッケージが実行された日時に基づいて命名されます)。

このアプローチでは、ファイル名から日付を解析する必要はありませんが、ファイルの一部がアーカイブされ、他のファイルが再利用される場合、実際にはあなたのニーズを満たしていない可能性があります。

+0

私は使用されているディレクトリにいくつかのファイルがあります。これを行うより良い方法があると確信しています。 – DataGirl

+0

もう1つの同様の方法は、ファイルを移動するのではなくアーカイブディレクトリにコピーしてから、既存のファイルを上書きするようにプロセスを更新することです(該当する場合)。これにより、アーカイブファイルのフルセットを作成しながら、必要に応じて既存のファイルを再利用することができます。 – Rose

関連する問題