示範案例:讓系統自動監視檔案夾,并把檔案夾下面的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:////excel////upload/""
6、循環内的檔案系統任務用來删除已經導入的excel,檔案名沿用枚舉得到的變量,而操作選擇“删除檔案”
7、循環外的檔案系統任務用來清除監視檔案夾裡面的那個新增檔案
8、這樣我們就完成了整個配置,調試一下
9、copy一些excel到f:/excel中,格式沿用上面參考文章中的excel
10、在upload目錄中建立一個文本文檔
11、快速切換回設計器中,可以看到執行結果
12、整個過程結束,你會發現excle檔案已經導入到sql中,并且已導入的檔案連同建立的txt檔案都已經被删除。這是ssis自動作業的一個簡單的例子。
你可以把上面的步驟扔到一個循環容器中讓他不停的監視,因為這個過程結束後wmi監視就結束了。
你可以用其他複雜的wmi來實作任務排程,比如監視伺服器性能,磁盤空間等。
相關文檔 :