存在给定文件列表时执行SSIS任务

存在给定文件列表时执行SSIS任务,ssis,Ssis,我有一个正在工作的SSIS任务,每月执行一次,通过给定的路径运行,迭代各种XML文件并将其内容插入SQL Server数据库 在与确定SSIS任务规则的区域的上次会议上,有人指出,只有在路径上存在所有预期文件后,任务才能运行所讨论的文件有35个。它们的名称是TUPSTATUS_SXX.xml,其中XX为编号从01到35的地产(巴西有35个电信部门)。这些文件由运营这些部门的电信公司生成 因此,我的问题是:如何仅在所有35个文件都存在于我们的目录中之后运行SSIS任务?您可以使用一个脚本任务来计算

我有一个正在工作的SSIS任务,每月执行一次,通过给定的路径运行,迭代各种XML文件并将其内容插入SQL Server数据库

在与确定SSIS任务规则的区域的上次会议上,有人指出,只有在路径上存在所有预期文件后,任务才能运行所讨论的文件有35个。它们的名称是TUPSTATUS_SXX.xml,其中XX为编号从01到35的地产(巴西有35个电信部门)。这些文件由运营这些部门的电信公司生成


因此,我的问题是:如何仅在所有35个文件都存在于我们的目录中之后运行SSIS任务?

您可以使用一个脚本任务来计算文件夹中的文件,并且仅在35个文件存在时才进一步执行。尽管文件很大且通过FTP传输,但最终文件可能存在,但此时尚未完全传输。

您可以使用脚本任务对文件夹中的文件进行计数,并且仅当存在35个文件时才在管道的下游执行。尽管文件很大且通过FTP传输,但最终文件可能存在,但此时尚未完全传输。

与其在SSIS进程持续运行的情况下对文件夹进行忙碌的等待,不如设置一个FileSystemWatcher,它将在文件系统出现问题时触发。使用它来调用SSIS包。您可以在服务(如果需要更长时间)或简单应用程序中实现此监视程序


另一种方法是使用一个简单的应用程序/脚本来检查计数,该计数将从任务计划程序调用。

与其在SSIS进程持续运行的情况下对文件夹进行忙碌的等待,不如设置一个FileSystemWatcher,它将在文件系统条件下触发。使用它来调用SSIS包。您可以在服务(如果需要更长时间)或简单应用程序中实现此监视程序


另一种方法是使用一个简单的应用程序/脚本来检查计数,它将从任务调度器中调用。

谢谢,我将尝试实现它。谢谢revelator,工作轻松。我会在你的答案后添加代码引用。谢谢,我会尝试实现它。谢谢revelator,轻松工作。我将在您的回答之后添加代码引用。您的想法很好,但对于该实现,我将选择单独使用SSIS任务,因为此作业每月运行一次。如果找不到所有文件,它会每小时检查一次文件夹,直到完成为止。您的想法很好,但对于该实现,我将选择单独使用SSIS任务,因为此作业每月运行一次。如果没有找到所有文件,它会每小时再次检查文件夹,直到完成。