SSIS でフォルダーの内容を圧縮しようとしています。ソース フォルダーにファイルとフォルダーがあり、それらをすべて個別に圧縮する必要があります。私の問題はフォルダーです。
圧縮されたパッケージを作成するには、7.zip を使用する必要があります。
誰でも良いチュートリアルを教えてもらえますか。見つけたサンプルを実装できませんでした。
ありがとう
SSIS でフォルダーの内容を圧縮しようとしています。ソース フォルダーにファイルとフォルダーがあり、それらをすべて個別に圧縮する必要があります。私の問題はフォルダーです。
圧縮されたパッケージを作成するには、7.zip を使用する必要があります。
誰でも良いチュートリアルを教えてもらえますか。見つけたサンプルを実装できませんでした。
ありがとう
これが私が設定した方法です。
設定は簡単ですが、コツはArgumentsの構築にあります。スクリーンショットではArgumentsが静的であるように見えますが、実際には変数から来ており、その変数はプロセス実行タスクのArguments 式で設定されています。
この Execute Process タスクは、 [サブフォルダーのトラバース]がオンになっているFor Each File 列挙子にあると思います。
この基本的な設定が整ったら、後は必要な方法で圧縮を行うための引数を作成するだけです。すべてのコマンド ライン引数を見つけるのに適した場所は、ここにあります。
最後に、私が遭遇した唯一の問題は、7zip のコマンド ライン引数に作業ディレクトリが指定されていなかったことです。パッケージは開発環境では正常に実行されていましたが、SQL ジョブを介してサーバーで実行すると失敗していました。これは、7zip が、デフォルトで「作業ディレクトリ」として使用する SQL Server の「Temp」フォルダにアクセスできなかったためです。-wsスイッチを使用して、コマンド ライン引数の最後に次のように作業ディレクトリを指定することで、この問題を回避しました。
例:
a -t7z DestinationFile.7z SourceFile -wS:YourTempDirectoryToWhichTheSQLAgentHasRights