如何根据 SSIS 中的创建日期读取文件夹的所有文件?
How to read all files of a folder based on their creation date in SSIS?
我有一个文件夹,每天都会有一些平面文件复制到其中。这些文件具有相同的格式和相同的结构。但是,我想根据它们的创建顺序将它们读入我的数据库。
示例: 下午 1 点创建的文件必须在 2:pm 创建的文件之前得到处理。我想知道是否有任何简单的技巧可以做到这一点?奇怪的是,我必须使用 SSIS 2008!谢谢!
好消息是您使用的是 SSIS 2008,因为它允许 Linq
我的插图适用于 SSIS 2015,但适用于 2008
- 添加一个对象类型的变量User::dtFiles
- 将脚本任务添加到您的项目并将您创建的变量添加为 ReadWriteVariable
- 在您的脚本任务中编写以下代码:
您必须导入 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
- 为每个循环容器添加一个
- 将 for each 循环更改为 ado 枚举器并将数据源设置为 User::dtFiles
我有一个文件夹,每天都会有一些平面文件复制到其中。这些文件具有相同的格式和相同的结构。但是,我想根据它们的创建顺序将它们读入我的数据库。
示例: 下午 1 点创建的文件必须在 2:pm 创建的文件之前得到处理。我想知道是否有任何简单的技巧可以做到这一点?奇怪的是,我必须使用 SSIS 2008!谢谢!
好消息是您使用的是 SSIS 2008,因为它允许 Linq
我的插图适用于 SSIS 2015,但适用于 2008
- 添加一个对象类型的变量User::dtFiles
- 将脚本任务添加到您的项目并将您创建的变量添加为 ReadWriteVariable
- 在您的脚本任务中编写以下代码:
您必须导入 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
- 为每个循环容器添加一个
- 将 for each 循环更改为 ado 枚举器并将数据源设置为 User::dtFiles