我需要 SSIS 包方面的帮助。我有一台服务器,它填充数据库表作为日常工作的一部分。然后服务器写入进程状态表,让我知道它已完成。

进程状态表如下所示:

Job   | Ready | Downloaded
myJob    True     False

我想创建一个进程,检查 myJob 上的“就绪标志”是否为 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 标志的值。我的主要问题是如何将变量设置为就绪标志的值?

有帮助吗?

解决方案 2

我能够弄清楚。

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top