2013-03-07 72 views
0

需要咨询,请参见下面的场景SSIS - 查询文件的文件夹,并触发ETL包

我们已经开发了1个ETL包,它可以在同一时间(通常需要1分钟)处理5个文件。我们预计在早晨的时间里有将近100多个文件可以进入PROCESSING文件夹(意思是在上午6点到上午7点之间)。

我挣扎设计/开发某种轮询机制,这使寻找文件,如果他们到达会触发ETL包(通过SQL Server代理作业触发)。

如何进行轮询,然后触发该ETL包 - 为服务中介将帮助

我是新来的SSIS因此需要提醒。需要找到在SQL Server中的解决方案,而不是开发.NET应用程序轮询的文件夹,然后触发工作

问候

回答

0

你有2种选择:

  1. 建立一个文件夹观察家认为应该叫来自MyTrigger download it from CNET等表扬线。
  2. 至于你说ü要SQL Agent来执行它,其他的选项,这可能是更有效的,是建立一个文件表,并在表上创建用于插入一个触发器,应与该sp_start_job系统运行代理工作存储过程。
0

我所做的是设置一个代理来按计划启动SSIS包。我在SSIS中做的第一件事是确定是否有要处理的文件。出于各种原因,我更喜欢有一个小脚本任务。如果有文件存在,我设置一个变量,以便脚本任务后面的约束可以转到下一个任务,或者如果没有文件存在,则结束包报告成功。

如果您没有任何辅助需求(如日志记录),那么您可以为每个文件枚举器使用a,如果没有找到文件就会成功结束包。

PS。如果您设定的日程,说一分钟,包需要运行较长时间(导入多个文件),那么接下来的日程安排将不会触发直到原来的进程结束。所以你不必担心多个进程互相干扰。

相关问题