Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在SSIS中根据文件夹的创建日期读取文件夹的所有文件?_Sql Server_Ssis_Etl_Ssis 2012_Ssis 2008 - Fatal编程技术网

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

Sql server 如何在SSIS中根据文件夹的创建日期读取文件夹的所有文件?,sql-server,ssis,etl,ssis-2012,ssis-2008,Sql Server,Ssis,Etl,Ssis 2012,Ssis 2008,我有一个文件夹,每天有几个平面文件被复制到其中。这些文件具有相同的格式和结构。但是,我希望根据它们的创建顺序将它们读入我的数据库 示例:下午1点创建的文件必须在下午2点创建的文件之前得到处理。我想知道做这件事有没有简单的诀窍?奇怪的是,我不得不使用SSIS 2008!谢谢 好的一面是,您正在使用SSIS 2008,因为它是允许Linq 我的插图适用于SSIS 2015,但适用于2008 添加类型为Object User::dtFiles的变量 将脚本任务添加到项目中,并将创建的变量添加为Rea

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


示例:下午1点创建的文件必须在下午2点创建的文件之前得到处理。我想知道做这件事有没有简单的诀窍?奇怪的是,我不得不使用SSIS 2008!谢谢

好的一面是,您正在使用SSIS 2008,因为它是允许Linq

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

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

  • 在脚本任务中,编写以下代码:
您必须导入System.Linq

  • 为每个循环容器添加一个

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

看看这篇博文
    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