sql - 如何向文件 : input field in the Foreach loop container SSIS 添加多个文件扩展名

标签 sql sql-server ssis bids

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

我目前输入的格式为 *.zip.csv 见图片...但它不起作用只有当我有一个值如 * .zip

ForEachLoop in SSIS

最佳答案

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

  1. 添加一个 bool 类型的变量(例如:User::Flag)
  2. 在容器内添加一个脚本任务,并将Filename变量标记为Readonly,Flag变量标记为ReadWrite

enter image description here

  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. 脚本任务输出连接器添加一个表达式,如下所示

enter image description here

或者您可以使用像 Foreach File Enumerator with regex 这样的第三方组件来实现它

关于sql - 如何向文件 : input field in the Foreach loop container SSIS 添加多个文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43195171/

相关文章:

sql-server - SQL Server 2005 :is it safe to use @@identity?

mysql - 我想在 mySQL 中运行我的脚本,但在我运行它时它一直显示这个!错误 1215 (HY000) 在第 18 行 : Cannot add foreign key constraint

c# - 在脚本任务中向字典添加重复键时出错

python - PySpark sql 比较每天的记录并报告差异

MySQL和多列的平均值

sql - 在 SQL Server 2008 中,如何检查 varchar 参数是否可以转换为数据类型 money?

c# - 使用 Web 应用程序调用 SSIS 包

sql - SSIS ETL 流程设计建议

mysql - SQL - 只保留每天的第一条和最后一条记录

mysql - 选择查询具有父子关系的类别数据