我想创建一个 SQL Server SSIS 包,我可以在其中查看一个文件夹,一旦我拥有所有(20 个文件)所需的文件,我想执行一个 sql 语句。这些文件可能会在不同的时间出现,有时它们会以 csv 的形式出现,有时它们可以以 zip 的形式出现。我知道 ssis 有一个 wmi 事件观察器任务,但我不确定如何指定查找所有 20 个文件。我想我希望 wmi 事件观察器每 30 分钟查看一次该文件夹,一旦它看到所有文件移动到下一步(执行 sql 任务)。有人可以告诉我如何在 wmi 事件观察任务中指定文件名吗?谢谢。
问问题
2228 次
1 回答
0
这篇文章似乎与您的计划有关。您需要创建正确的 WQL 代码。
("ASSOCIATORS OF {Win32_Directory.Name='C:\Logs'} Where " _
& "ResultClass = CIM_DataFile")
我不确定它在 WMI 事件观察器中的表现如何。您是否查看过 SSIS 任务的文档?
这是一个更一步一步的方法:
http://microsoft-ssis.blogspot.com/2010/12/continuously-watching-files-with-wmi.html
那里有一些优点,即使它没有解决讨厌的 20 文件要求。
您还可以在服务器上安装一个 powershell 脚本来监视文件,然后当它们都存在时将它们放入子文件夹中,SSIS 将对其进行监视。
这是一个文档页面,展示了如何指定一个文件:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394594(v=vs.85).aspx
有了这个,我相信你可以在你的 SSIS 包中设置一个 WMI 检查链。
于 2013-06-13T20:42:29.613 回答