?演示案例:讓系統自動監視文件夾,并把文件夾下面的excel文件導入到sql中,之后清空目錄。這個過程以往都需要寫程序來實現或者定時執行,現在可以用ssis來訂制任務完成。
?在閱讀本文之前,你先要學會如何用ssis來批量導入數據,可以參考我先前的blog文章,這里我們用相同的數據交換背景來演示。http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx
?
1、建立測試環境,目錄為F:/excel 下面保存需要導入的excel文件,F:/excel/upload目錄用來讓ssis自動監視,當我們上傳了一批excel到F:/excel后,可以在F:/excel/upload目錄中新建一個空文件,當ssis監視到這個目錄有新增文件后就會遍歷F:/excel目錄依次導入表格。為什么不直接監視F:/excel目錄呢?因為要考慮批量上傳的問題,所以不可以直接監視數據目錄。
2、這里假設你已經學會了ssis的基本使用辦法和批量導入excel的方法,不會也不要緊,只需要參考一下http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx這篇就可以了,我們已這篇文章的成果為基礎,增加一個wmi監視任務用來監視文件夾和兩個文件系統任務用來處理導入后的文件。如圖:
3、wmi監視任務的設置也很簡單:
4、其中wmi連接設置:
5、wmi查詢語句設置:
SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA "CIM_DirectoryContainsFile" and TargetInstance.GroupComponent= "Win32_Directory.Name=/"f:excelupload/""
6、循環內的文件系統任務用來刪除已經導入的excel,文件名沿用枚舉得到的變量,而操作選擇“刪除文件”
7、循環外的文件系統任務用來清除監視文件夾里面的那個新增文件
8、這樣我們就完成了整個配置,調試一下
9、copy一些excel到f:/excel中,格式沿用上面參考文章中的excel
10、在upload目錄中新建一個文本文檔
11、快速切換回設計器中,可以看到執行結果
12、整個過程結束,你會發現excle文件已經導入到sql中,并且已導入的文件連同新建的txt文件都已經被刪除。這是ssis自動作業的一個簡單的例子。
你可以把上面的步驟扔到一個循環容器中讓他不停的監視,因為這個過程結束后wmi監視就結束了。
你可以用其他復雜的wmi來實現任務調度,比如監視服務器性能,磁盤空間等。
相關文檔 :