我需要SSIS包的帮助。我有一个服务器填充数据库表作为日常工作的一部分。然后服务器写入进程状态表,让我知道它已完成。
流程状态表如下所示:
Job | Ready | Downloaded
myJob True False
我想创建一个流程来检查myJob上的Ready Flag是否为True并继续,或者如果为False,它会在再次尝试之前休眠30分钟并重复最多5次。
我发现这篇关于如何做睡眠部分的文章: http://blogs.conchango.com/jamiethomson/archive/2006/10/23/SSIS_3A00_-Put-a-package-to-sleep.aspx
我在考虑使用文件系统任务来访问进程状态表。然后将变量设置为Ready标志的值。然后有一个For循环容器,如果true跳出for循环并继续,如果为false则运行sleep然后运行另一个文件系统任务并将变量设置为Ready标志的值。我的主要问题是如何将变量设置为就绪标志的值?
答案 0 :(得分:1)
如果你有一个For循环容器,你可以放置一个“ExecuteSql”任务来提取你的状态值(即假),然后使用“ScriptTask”来存储它或根据需要操作它。然后,您可以继续处理for循环容器的内容(这可能是数据流任务或您使用的任何内容)。
答案 1 :(得分:1)
我能够弄明白。
我使用了一个带有OLE DB源和脚本组件的数据流任务。 脚本组件读取并处理数据库数据,执行一些基本的if else逻辑,并写入系统变量。
我稍后在for循环中使用该系统变量。