我正在尝试在SSIS中压缩文件夹的内容,源文件夹中有文件和文件夹,我需要单独压缩它们。我可以把文件拉得很好,我的问题就是文件夹。
我必须使用7.zip来创建压缩包。
任何人都可以指点我一个好的教程。我无法实现我找到的任何样本。
由于
答案 0 :(得分:3)
这就是我配置它的方式。
它易于配置,但诀窍是构建参数。虽然您在屏幕截图中看到 Arguments 为静态,但它实际上来自变量,而该变量是在Execute Process Task的 Arguments expression 中设置的。
我认为您将在 For Each File Ennumerator 中选中 Traverse SubFolders 来执行此执行流程任务。
一旦你有了这个基本设置,你需要做的就是构建参数来进行压缩,你想要它们。找到所有命令行参数的好地方是here。
最后,我遇到的唯一问题是没有在7zip的命令行参数中提供工作目录。该包用于在我的开发环境中正常运行,但在服务器上通过SQL作业运行时曾经失败。这是因为7zip无法访问SQL Server上的“Temp”文件夹,默认情况下它用作“工作目录”。我通过使用 -ws 开关在命令行参数末尾指定“工作目录”来解决此问题:
例如:
a -t7z DestinationFile.7z SourceFile -wS:YourTempDirectoryToWhichTheSQLAgentHasRights