如何根据SSIS中的创建日期读取文件夹的所有文件?

时间:2017-01-14 15:40:40

标签: c# sql-server ssis ssis-2012 ssis-2008

我有一个文件夹,每天都会有一些平面文件被复制到其中。这些文件具有相同的格式和相同的结构。但是,我想根据它们的创建顺序将它们读入我的数据库。

示例:在下午1点创建的文件必须在下午2点创建的文件之前处理。我想知道这样做有什么简单的伎俩吗?奇怪的是,我必须使用SSIS 2008!谢谢!

1 个答案:

答案 0 :(得分:3)

好事是您使用的是SSIS 2008,因为它允许 Linq

我的插图适用于SSIS 2015,但它适用于2008年

  • 添加Object User :: dtFiles
  • 类型的变量
  • 向项目添加脚本任务,并将创建的变量添加为 ReadWriteVariable

enter image description here

  • 在您的脚本任务中,编写以下代码:

您必须导入 System.Linq

    Public Sub Main()
    '
    ' Add your code here
    '


    Dim strDirectory As String = "C:\New Folder"
    Dim dtFiles As New List(Of String)

    dtFiles.AddRange(IO.Directory.GetFiles(strDirectory, "*.*", IO.SearchOption.TopDirectoryOnly
                                           ).OrderBy(Function(x) IO.File.GetCreationTime(x)).ToList)


    Dts.Variables.Item("dtFiles").Value = dtFiles

    Dts.TaskResult = ScriptResults.Success
End Sub
  • 为每个循环容器添加一个

enter image description here

  • 将每个循环更改为ado枚举器并将数据源设置为User :: dtFiles

enter image description here