如何从SSIS Excel文件名解析日期

时间:2010-05-04 17:43:12

标签: sql sql-server-2005 ssis

我想使用foreach容器迭代匹配类似于“Filename_MMYYYY.xls”的文件夹。这很容易做到;但我似乎找不到从文件名解析MMYYYY并将其添加到我可以用作DimDate表的查找字段的变量(或其他东西)的方法。似乎可以使用平面文件数据源,但不是excel连接。我正在使用Visual Studio 2005.请帮忙!

1 个答案:

答案 0 :(得分:4)

我是否正确理解您想要获取文件名,解构它,并从中获取日期类型变量?如果是这样,那么你需要从Foreach循环获得的filename变量开始 - 我将调用该变量@FileName。

首先,将一个新变量 - @FileDate - 作为DateTime类型。转到其属性窗口(F4),并将EvaluateAsExpression属性设置为True。编辑表达式,然后键入类似的内容(您可能需要调整):

(DT_DBTIMESTAMP)(SUBSTRING(@ FileName,12,4)+“ - ”+ SUBSTRING(@ FileName,10,2)+“ - 01”)

现在,如果您想获取该日期值并在数据流中使用它,您可以直接在Derived Column转换中使用它,或者在Lookup SQL语句中的表达式中,或者在任何地方使用它。