1

我需要有关 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

我正在考虑使用文件系统任务来访问进程状态表。然后将变量设置为就绪标志的值。然后有一个 For 循环容器,如果为 true 则跳出 for 循环并继续,如果为 false 则运行 sleep 然后运行另一个文件系统任务并将变量设置为 Ready 标志的值。我的主要问题是如何将变量设置为就绪标志的值?

4

2 回答 2

1

如果您有一个 For Loop 容器,您可以放置​​一个“ExecuteSql”任务来提取您的状态值(即 false),然后使用“ScriptTask”来存储它或根据需要对其进行操作。然后,您可以继续处理 for 循环容器的内容(这可能是数据流任务或您使用的任何内容)。

于 2009-01-07T02:08:15.173 回答
1

我能够弄清楚。

我使用了一个内部带有 OLE DB 源和脚本组件的数据流任务。脚本组件读取和处理数据库数据,执行一些基本的 if else 逻辑,并写入系统变量。

我稍后在 for 循环中使用该系统变量。

于 2009-01-07T16:57:20.120 回答