【发布时间】:2019-02-22 15:20:30
【问题描述】:
我需要我的包在它完成后直接再次运行。怎么做 ?我应该使用 SQL Server 代理吗?
我需要这样做,因为用户无法访问 SSIS,而只能访问 Management Studio。
我使用 WMI 事件观察器任务无限期地查找正在放置在文件夹“Drop”中的特定文件。发生这种情况时,程序包会执行,然后我使用文件系统任务将文件从文件夹中删除到另一个文件夹“Archved”。
最后,用户应该能够通过将相同的文件拖放到触发包“Drop”的文件夹中来重新运行包。
我的问题是完成后我必须点击“运行包”。我希望 ssis 自己做。
有可能吗?
已编辑:
添加 EvalExpression 1=1 的 For 循环容器时,以下两个执行 SQL 任务永远不会运行。如果没有循环,他们会这样做,但只有一次直接到最后。
【问题讨论】:
-
这是否意味着 if 每次完成后都应该运行?所以无限期地跑,还是在第一次之后就跑了?
-
无限期@Larnu
-
我不明白。如果文件观察器在第一个文件出现的时候触发了包,那么当用户删除另一个文件时它不会再次触发包吗?
-
您是否尝试过使用 For 循环容器并将其 EvalExpression 设置为 1==1?只是说...
-
您必须将所有任务包含在 For 循环容器中,它应该可以工作。不过,这不是一个好方法。
标签: sql-server visual-studio ssis ssms