2013-03-07 41 views
0

需要諮詢,請參見下面的場景SSIS - 查詢文件的文件夾,並觸發ETL包

我們已經開發了1個ETL包,它可以在同一時間(通常需要1分鐘)處理5個文件。我們預計在早晨的時間裏有將近100多個文件可以進入PROCESSING文件夾(意思是在上午6點到上午7點之間)。

我掙扎設計/開發某種輪詢機制,這使尋找文件,如果他們到達會觸發ETL包(通過SQL Server代理作業觸發)。

如何進行輪詢,然後觸發該ETL包 - 爲服務中介將幫助

我是新來的SSIS因此需要提醒。需要找到在SQL Server中的解決方案,而不是開發.NET應用程序輪詢的文件夾,然後觸發工作

問候

回答

0

你有2種選擇:

  1. 建立一個文件夾觀察家認爲應該叫來自MyTrigger download it from CNET等表揚線。
  2. 至於你說ü要SQL Agent來執行它,其他的選項,這可能是更有效的,是建立一個文件表,並在表上創建用於插入一個觸發器,應與該sp_start_job系統運行代理工作存儲過程。
0

我所做的是設置一個代理來按計劃啓動SSIS包。我在SSIS中做的第一件事是確定是否有要處理的文件。出於各種原因,我更喜歡有一個小腳本任務。如果有文件存在,我設置一個變量,以便腳本任務後面的約束可以轉到下一個任務,或者如果沒有文件存在,則結束包報告成功。

如果您沒有任何輔助需求(如日誌記錄),那麼您可以爲每個文件枚舉器使用a,如果沒有找到文件就會成功結束包。

PS。如果您設定的日程,說一分鐘,包需要運行較長時間(導入多個文件),那麼接下來的日程安排將不會觸發直到原來的進程結束。所以你不必擔心多個進程互相干擾。

相關問題