使用SSIS以不可预测的文件名导入数据

时间:2018-01-31 16:55:20

标签: ssis

我正在尝试在SSIS中创建一个集成包,以便从每天生成的文件中将数据加载到SQL数据库,文件名格式为“AAA_YYYYMMDDXXXXXX”。我知道如何使用变量函数生成带有时间戳的文件名,但我不知道如何处理“XXXXXX”,这是每次不同的6个不可预测的数字。

我尝试选择最新的文件,但它不起作用,因为每天更新的同一文件夹中的其他文件可能导致加载错误的数据。

1 个答案:

答案 0 :(得分:0)

为每个循环使用a来处理目录并在文件名上设置表达式。既然您知道日期是相同的并且只是担心最终的XXXXX字符,您可以使用通配符。

使用表达式生成文件名的变量:

"AAA" + (DT_WSTR, 4) YEAR(GETDATE() ) + RIGHT("0" + (DT_WSTR, 2)MONTH(GETDATE()), 2) + RIGHT("0" + (DT_WSTR, 2) DAY(GETDATE()) , 2) + "*.csv"

配置变量后,在FileSpec属性上设置一个等于变量的表达式。现在,程序包将循环并仅捕获最近一天的文件

For each loop config

在for循环中,您可以构建数据流以将文件加载到数据库中。