SSIS包 - 循环访问文件夹以检查文件是否存在

时间:2012-03-08 17:05:08

标签: ssis

任何人都可以提供帮助:

必需:SSIS包循环浏览文件夹(包含100个文件)并检查该文件夹中是否存在所需文件(5/6)。

是否有人已经拥有此代码 - 我们正在检查目标文件夹中是否存在多个文件

此致

1 个答案:

答案 0 :(得分:2)

  1. 将Foreach循环容器添加到控制流
  2. 双击它并选择Collection。在Enumerator上,选择Foreach 文件枚举器
  3. 选择文件夹和文件类型
  4. 选择找到文件时的返回类型。选项是 整个文件名包括扩展名和路径,名称和扩展名 或者只是找到的文件的名称
  5. 如果需要子文件夹
  6. ,请选中此复选框
  7. 单击左侧的变量选项,然后单击新变量或 选择现有变量。
  8. 此时,您在文件夹上有每个文件名。要证明这一点,请在只读变量上添加一个脚本组件,双击它和变量,然后单击编辑脚本。让你的主要像这样:

    public void Main()
    {
        System.Windows.Forms.MessageBox.Show(Dts.Variables["FileName"].Value.ToString());
        Dts.TaskResult = (int)ScriptResults.Success;
    }
    

    现在,您可以通过几种方式进行比较。我不知道你在哪里有“必需文件”列表,但假设它在数据库上,你可以添加一个数据流任务,并在其中发送文件名到DB进行比较。