【问题标题】:Access WMI query results in SSIS在 SSIS 中访问 WMI 查询结果
【发布时间】:2013-06-20 06:33:18
【问题描述】:

我有一种情况,我想处理 SSIS 包中的文件,但只处理新文件和匹配特定文件名模式的文件。

是否可以使用 WMI 以某种方式循环遍历 WMI 查询的结果集来完成此任务?

WMI 数据读取器任务似乎是最接近的竞争者,但它只能将其结果写入文件(而不是说数据库表或内存中的记录集)。

有人成功过吗?

【问题讨论】:

    标签: ssis wmi wmi-query


    【解决方案1】:

    如果您想使用 WMI 数据读取器任务,那么最简单的解决方案是将结果保存到文件中。添加一个读取文件并将数据插入数据库的数据流任务。

    但是,另一种解决方案是:

    1. 添加Foreach LoopForeach File Enumerator,您可以使用表达式来表示文件名模式。
    2. 处理Data Flow Task 中的文件
    3. 如果允许您移动文件,请使用File System Task 将文件移动到其他文件夹,这样就不会再次处理它。

    如果您无法移动文件,那么您需要一些其他方法来确定文件是否已被处理。如果您只需要查看新文件而不是修改文件,那么您可以记录数据库中已处理的文件,或者添加脚本任务来检查文件的修改日期并将其与上次处理的日期进行比较来自数据库。

    【讨论】:

    • 您的建议,即写入文件然后读取该文件,似乎是最常见的建议。我觉得奇怪的是,SSIS 不提供其他方法来存储 WMI 任务的结果集(例如,存储到包中的内存记录集或数据库表中),但是你去吧..
    • 我不确定使用 WMI 任务是否是正确的方法。选择 WMI 的具体原因是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    相关资源
    最近更新 更多