【问题标题】:SSIS 2008 Check for flat file and take action if foundSSIS 2008 检查平面文件并在找到时采取措施
【发布时间】:2011-09-14 14:04:56
【问题描述】:

我有一个包需要检查文件夹中是否存在文件,如果文件确实存在,则采用一个分支,将文件导入 SQL Server 并执行一些存储过程来处理它。如果该文件不存在,则只需结束当前运行的包而不会出错。除了根据结果进行文件检测和分支之外,我的所有部分都工作得很好。 (换句话说,目前它只是像文件在那里一样运行并完成其余的工作)。我知道如何使用脚本任务来检测文件并在未找到时返回错误 - 我需要知道如何使主包在这种情况下无错误地结束,或者继续执行导入和其余的如果找到文件则处理。

【问题讨论】:

    标签: sql-server-2008 ssis


    【解决方案1】:

    您可以在“控制流”选项卡中使用 Foreach 循环容器。循环浏览给定模式的文件夹(例如 *.csv)。将平面文件连接管理器设置为使用从 For each 循环容器中获取的文件路径作为连接字符串。

    在此设置中,For each 循环容器中的数据流任务仅在找到文件时才会执行。否则,它将默默地结束进程而不会出现任何错误。

    这里有一些其他的 SO 问题,我提供了一些关于使用 Foreach 循环容器循环文件的示例。

    Creating an Expression for an Object Variable?

    How can I load a large flat file into a database table using SSIS?

    希望能给你一个想法。

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 2014-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      相关资源
      最近更新 更多