SSIS包中的源文件名更改
问题描述:
我已经创建了从文件夹导入Excel文件的SSIS包。 Excel文件的名称根据月份而改变。 例如:I:\ Test \ User_09-05-2016.xlsx或 I:\ Test \ User_09-06-2016.xlsx等.....SSIS包中的源文件名更改
我想创建SQL作业来运行包,因为我每个月都会得到一个新文件。 我想在成功执行包后保存excel文件(一次只保留一个文件夹中的excel文件)。
我该如何自动化过程?
答
只需在SSIS中使用ForEach容器即可。
导入该文件夹中的每个电子表格。
处理后删除(或移动)每个电子表格。
答
FE循环的替代方法 - 在程序包运行时定义Excel文件的路径和文件名。
如果您知道命名Excel文件的规则,请创建一个字符串变量Excel_FilePath包含完整路径并使用表达式,如[User::Folder Path]+"\\"+[User::Filename]+".xlsx"
。然后把你的Excel文件连接管理器添加到ConnectionString属性"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @[User::Excel_FilePath] + ";Extended Properties=\"Excel 8.0;HDR=YES\";"
以下表达式在包属性 - 设置DelayValidation = true。
更多details on this approach with screenshots和exactly your question reviewed。
如果源文件名从I:\ Test \ User_09-05-2016.xlsx更改为I:\ Test \ User_09-06-2016.xlsx – Apoorv
如何处理源文件名只需在SSIS中使用ForEach容器即可。 – BIDeveloper