DateModified更改时处理SSIS包

时间:2014-06-30 19:34:48

标签: sql sql-server ssis

我为人力资源部门建立了一个SSIS包。 数据以.xls格式从Web门户手动下载。

由于数据丢弃的频率不一致,当前进程不会自动进行。 我想要做的是更改SSIS包,以便查看源数据(它们每月只保存现有文件)并在“修改日期”更改后立即运行作业。

我不熟悉C#所以如果可能的话我想避免这个选项,我对这一切仍然有点新意。我希望有一个循环容器选项或其他东西。

*附加数据:加载的表在加载之前被截断。我不知道这是否会考虑因素,但我想把它放在那里。

1 个答案:

答案 0 :(得分:1)

实现这一目标的方法很少。基本上,当源数据中的数据已更改时,您需要实现某种触发机制来运行包。

  1. 创建一个Windows服务,该服务使用WMI检测修改日期和启动包的更改。
  2. 您可以使用具有无限循环的create package并通过Agent Job安排它。但请注意SSIS是资源密集型的,因此您必须相应地规划循环间隔。
  3. 设置表并在表上创建用于插入的触发器,该触发器应使用sp_start_job系统存储过程执行代理作业。您可以使用Service Broker将新项添加到队列中。然后,SSIS的执行不会像直接从触发器中调用它那样有问题。
  4. 一些有用的文章 -

    Execute SSIS package when a file is arrived at folder

    Trigger SSIS package when files available in a Folder

    Trigger SSIS package when files available in a Folder part#2

    How to Check IF File Exists In Folder [Script Task]

    Trigger SSIS package