我已经创建了一个SSIS包,它具有for循环。我在SQL Server中有一张表,用于存储程序包启动的时间。以及Remainging_Time(Minute)的列,这是一个倒计时(分钟)值。现在,我要运行SSIS For Loop,直到Remainging_Time(Minute)的值为0。
图片中的描述:
答案 0 :(得分:3)
我认为您的问题有两个方面。首先,for循环将要执行任务,然后检查eval表达式。如果您的计数器实际上只是在跟踪经过的时间,则您的时间可能会在执行您分配的任何任务时过期。
如果您不关心该级别的精度,我会将Remainging_Time存储为包变量,而不是存储在数据库表中。您可以将SQL任务与表达式一起使用,以将包变量的值更新为循环中的最后一个任务。除非每次都有一些外部进程在更新数据库中的值,否则不必每次都通过循环进行数据库调用是没有道理的。如果是这种情况,那实际上不是一个for循环,那就更多了。 while循环,在这种情况下,我将执行脚本任务而不是for循环并处理您要在其中执行的任何操作。
让我知道是否合理。如果我对您要执行的操作有更多了解,我可以添加更多详细信息。