我在SSIS中创建了一个包,它在一个包含50多个文本文件的目录上循环。文本文件以逗号分隔(抱歉,我不能将详细信息作为数据保护示例)
我已成功设法为每个循环使用SSIS将值输入SQL Server表。我需要输入的是文本文件中存在的每一行的SQL Server表中的文件名和创建日期。
只是想知道这怎么可能?如果您需要更多信息,请告诉我
答案 0 :(得分:2)
假设您已设置For Each File
循环容器,请确保您拥有set up a variable to capture the filename。然后,您可以在Derived Column
后的Excel Source
转换中使用此变量,将列添加到数据流中变量的数据流中。
如果您没有在文件名中包含已创建的日期,可以在SSIS中解析,则需要查看creating your own script task或using custom transformations。
答案 1 :(得分:1)
我在What is the name of the file
上写了一篇文章对于平面文件源,您可以通过设置FileNameColumnName
属性直接通过高级属性提取文件名。
可重复使用的方法是将派生列添加到数据流,并添加正在Foreach(文件)枚举器的“变量映射”选项卡中填充的变量名称。我假设它是CurrentFileName
,因此我的派生列看起来像
@[User::CurrentFileName]