快速介紹到現有的流程:一個SSIS foreach循環導入一個平面文件到SQL Server表通過尋找在進入路徑文件夾的任何文本文件,在導入後它將平面文件轉儲到一個存檔文件夾中。發生這種情況總共有四個平面文件,因爲它只查找任何文本文件,所以沒有問題。SSIS&MS SQL服務器:解析文本從文件名
然而,提出了新的想法相反,SSIS應該運行的第一個捕獲關閉文本文件的日期和國家(從文件名,而不是裏面的文件)的過程,然後沿着插入數據到SQL Server與捕獲的狀態和日期,然後存檔文件。這背後的想法是,如果一個日期比一個月落後或者提前一個月,SSIS將不會導入該文件(或者如果年份錯了,則不會導入)。
所以現在 - SSIS首先需要檢查,看看是否存在四個文件。 - 如果有四個文件存在,那麼它會進入foreach循環(至少,我猜這是解決這個問題的最好方法)。 - 在每個循環中,進程需要從文件名解析日期和狀態,並且需要將數據導入SQL Server,並將日期和狀態添加到適當的列中。 - 然後它需要歸檔該文件並轉到下一個文件。
我從來沒有做過任何分析,我試圖用表情和連接字符串玩弄搜索當前月份和年份,但沒有運氣。
(最後,我所知甚少C#,所以腳本任務是我的聯賽)。
這就是我害怕的,但是,我一直在努力學習一些OOP編程。我會看看是否有其他建議。 – Kprof
這將大大增加您可以執行的任務範圍。這並不像你想象的那麼困難。以下是如何在腳本組件中移動和重命名文件的示例:http://consultingblogs.emc.com/jamiethomson/archive/2005/09/14/SSIS-Nugget_3A00_-Move-and-rename-a-file- in-one-operation.aspx即使包含錯誤處理,也只有6行代碼。 – brian
我同意Brian的觀點......我是一位實習生,擁有3個月的ssis經驗,但是1年c#經驗......我的OOP經驗讓我在SSIS中更加高效高效。 –