我正在使用大量源創建平面文件作爲源的數據倉庫項目,我們正在使用SSIS將它們加載到我們的登臺表中,目前我們正在使用平面文件源組件。SSIS平面文件 - 如何處理文件版本/世代
但是,過了一段時間,我們需要在其中一個文件中添加一列,並從文件規範更改的日期開始添加該額外的列。這個練習發生得非常頻繁,隨着時間的推移積累了相當多的版本。
根據我可以在這裏找到的答案以及互聯網上的其他方法來處理這種情況似乎是在這個版本的新的獨立數據流中設置一個新的平面文件源,舊文件的ETL過程的可運行性。 方法這裏概述例如:SSIS pkg with flat-file connection with fewer columns will fail
在我們特定的設置,附加欄始終附加列(從來沒有刪除舊的列),也爲合理的理由,如果我們繼續重新運行性能的新列不能mandantory爲他們單獨的數據流中的舊文件。
我不認爲一次又一次處理同一組列的重複數據流的方法對於我們的數據倉庫項目來說是一個很好的答案,我會優先選擇一個採用最後一個文件的源組件版本並且能夠將列標記爲「非mandadory」並且如果它們丟失則提供空值。
是否有人知道SSIS平面文件組件在處理舊文件版本時更靈活或者針對此問題有更好的解決方案? 我假設這樣一個組件需要以命名列的方式來處理文件,而不是現有的從左到右的方法?
歡迎任何想法或建議!
平面文件沒有版本,您可以獲得新版本(不可重用)的唯一方法是比較新舊平面文件的元數據。說起來容易做起來難。 – rvphx