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

问题描述 投票:3回答:1

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

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

c# sql-server ssis ssis-2012 ssis-2008
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.