我有一个.zip文件来自Web服务,该文件每月通过电子邮件将文件发送到电子邮件地址。电子邮件具有脚本宏,可将.zip文件删除到特定文件夹中。
我需要的是一个解压缩此文件的SSIS包,保存单个内部文档(也需要重命名的.csv文件),然后处理我放在一起的转换包。
最后,我还需要将.zip文件移动到特定文件夹。
我确定foreach循环容器参与其中,但就我而言。
我浏览了网络,发现了几种方法,但我想避免使用C#,因为我还不熟悉这种语言。
FileName:HRIS_LMSUtilization_532_04_22_2014_15_22.zip 内部文件:HRIS_LMSUtilization_532_04_22_2014_15_22.csv(需要将其重命名为HRIS_LMSUtilization.csv)
服务器上的文件路径:E:\ DATABASES \ DATAWAREHOUSE \ UNIVERSAL_DW \ HRIS \ HRIS_EEIMPORT \ 这是.zip文件所在的位置以及解压缩文件所需的位置。
存档文件:E:\ DATABASES \ DATAWAREHOUSE \ UNIVERSAL_DW \ HRIS \ HRIS_EEIMPORT \ ARCHIVED \ 这是在提取内部文件后需要转换.zip文件的位置。
感谢任何帮助。
答案 0 :(得分:3)
如果您希望进程检查特定文件夹,然后对每个文件执行操作(解压缩,加载,移动文件),那么您对@achach循环容器是正确的。
在foreach循环中,将枚举器设置为' Foreach File Enumerator'并指定文件夹和文件掩码(在您的情况下可能是HRIS_LMSUtilization _ * .zip)。在"变量映射"创建一个变量(User :: file_name),它将在循环的每次迭代中存储文件名。
在foreach循环的范围内,您需要连线:
似乎没有必要使用C#来完成您所寻找的声音。
答案 1 :(得分:0)
要解压缩,您可以使用执行批处理文件或解压缩工具的执行流程任务,或者您可以使用第三方任务(免费或商业):
http://microsoft-ssis.blogspot.com/2012/10/custom-ssis-component-unzip-task.html http://www.cozyroc.com/ssis/zip-task