2015-05-29 101 views
0

想要一些想法如何實現下面的邏輯嗎?SSIS腳本任務查找數據

這個問題涉及到SSIS包。 我正在閱讀固定寬度的平面文件,其中將包含至少500行。我有一個SQL查詢表,帶有一個雙列ID和說明。如果任何平面文件的行包含查找表描述列數據,則不應處理這些行。

我迄今所做的:

我到數據讀取器使用腳本任務和裝載查找列數據。並檢查腳本任務中輸入文件的每一列,看它是否包含數據讀取器項目,然後不處理該行。我知道這給了我糟糕的表現,所以我只需要一個方法如何解決這個問題。我不是要求解決方案。 如果您需要更多關於此問題的信息,請讓我知道。

回答

0

如果我理解正確,讀取的平面文件包含所有列,但「查找表描述」列的值將爲NULL或填充?如果是這種情況,那麼更簡單的替代方法是在數據庫中創建登臺表。當SSIS包運行時,它首先被截斷,然後用平面文件的內容重新填充。這應該運行得很快。然後使用可能的MERGE命令應用SQL任務,將記錄從分段導入到不包含查找表描述列數據的最終表中。我多次使用登臺表和登臺數據庫,因爲它還提供了一種更簡單的方法來驗證所有數據是否從源中正確讀取,並自動主動檢查源自源的潛在數據問題。否則,如果源平面文件中的列數不同(「查找表描述」列存在或不存在或不存在),那麼腳本任務是最好的方法。

希望這會有所幫助。