2013-06-20 106 views
0

我有一種情況,我想處理SSIS包中的文件,但只包含新文件,並且只包含與特定文件名模式匹配的文件。訪問SSIS中的WMI查詢結果

是否有可能通過循環遍歷WMI查詢的結果來使用WMI來實現此任務?

WMI數據讀取器任務似乎是最接近的競爭者,但它只能將其結果寫入文件(而不是數據庫表或內存中的記錄集)。

有沒有人有這樣做的成功?

回答

0

如果您想使用WMI Data Reader Task,那麼最簡單的解決方案就是將結果保存到文件中。添加一個讀取文件並將數據插入數據庫的數據流任務。

然而,另一種解決辦法是這樣的:

  1. 添加Foreach LoopForeach File Enumerator,您可以使用表達式爲文件名的模式。
  2. 過程如果你被允許移動的文件,然後使用一個File System Task將文件移動到其他文件夾,這樣就不會被再次處理在Data Flow Task
  3. 的文件。

如果你不能移動文件,那麼你需要一些其他的方式來確定文件是否已經被處理。如果您只需要監視新文件而不是修改文件,那麼您可以保存數據庫中已處理哪個文件的記錄,或者添加腳本任務以檢查文件的修改日期並將其與最近處理的日期進行比較來自數據庫。

+0

您的建議,即寫入文件然後讀取該文件,似乎是最常見的建議。我覺得很奇怪,SSIS不會提供其他方式來存儲WMI任務的結果集(例如,將其存儲在內存中的記錄集或數據庫表中),但是在那裏你去.. – Rowan

+0

我不確定if使用WMI任務是正確的方法。什麼是選擇WMI的理由? – JodyT