如何向文件添加多个文件扩展名:Foreach 循环容器 SSIS 中的输入字段

How to add multiple file extensions to the Files: input field in the Foreach loop container SSIS

如何向文件添加多个文件扩展名:SSIS 2008 中 Foreach 循环容器中的输入字段。

我目前输入的是 *.zip.csv 看图片...但它不起作用只有当我有一个值时才有效 *.zip

我认为您不能在 For each Loop container 中指定两个文件类型扩展名,您应该使用 *.* 并且您可以使用以下步骤过滤特定的扩展名:

  1. 添加布尔类型的变量(例如:User::Flag
  2. 在容器内添加一个script task并将Filename变量标记为只读,Flag变量标记为ReadWrite

  1. 在脚本里面写下面的脚本

    Public Sub Main()
    
        Dim strFile As String = Dts.Variables.Item("Filename").Value.ToString
    
        Select Case IO.Path.GetExtension(strFile).ToLower
            Case ".csv", ".zip"
                Dts.Variables.Item("Flag").Value = True
    
    
            Case Else
                Dts.Variables.Item("Flag").Value = False
        End Select
    
    
        Dts.TaskResult = ScriptResults.Success
    End Sub
    
  2. Script task 输出连接器添加表达式,如下所示

或者你可以使用第三方组件如Foreach File Enumerator with regex

来实现

Step 1) 创建一个存储文件名和扩展名的变量。
Step 2) 在foreach循环容器下映射我们在step 1中创建的变量。
Step 3 ) 在 foreach 循环容器内创建一个执行 sql 任务,添加连接并在 sql 语句下输入代码 insert into tablename(filename) values (?).
Step 4) Under parameter映射 select 我们在变量名下创建的变量,将数据类型更改为 nvarchar 并将参数更改为 0。
步骤 5) 在字符串函数的帮助下,您可以在帮助下创建表达式像 right

这样的字符串函数