2010-12-03 83 views
0

我的包中有兩個查找轉換。第一個 執行得很好。第二個是麻煩製造者。SSIS 2008查找轉換問題

我在第二次查找時出現'Row yielded no match'錯誤,而 正在我的數據庫中加載最終表。它不會在每次運行的 相同的行中再次出現。這是每次運行都會給我一個不同數量的錯誤 結果行。即使一切都完全正確(輸入數據, 過程...)通過2次不同的運行也是如此。

我重新定向行並檢查是否區分大小寫,並領導 和尾隨空格,它們都可以,但錯誤仍然存​​在。

我手動檢查(重定向的行)匹配(從 列表中隨機選出10個),匹配存在,但SSIS仍會拋出相同的錯誤。

我試着使用所有三個緩存選項(全/部分/無緩存) 但徒勞,仍然出現相同的錯誤。

我不知道爲什麼會發生這種情況。這讓我瘋狂,我在思考中失去了 。你能幫我知道我能解決這個問題嗎?在執行較早的SSIS 執行過程中,是否有任何 會遇到此類錯誤?

+0

我沒有給你一個答案,但我有一個類似的問題。我通過更改爲OLEDB Source + MergeJoin解決了我的問題;幸運的是,所涉及的數據集非常小,或者性能上的下降會讓我哭泣。我會看這個,以防有人知道爲什麼Lookups有時候會因爲沒有明顯的原因而放置行。 – Valkyrie 2010-12-21 15:33:06

回答

0

我對你的查找處理方案不太確定,但是這行產生問題是由於我們在處理中設置的屬性。

  1. 我們如何處理不匹配的記錄,即發送到沒有匹配的輸出或採取默認記錄。

  2. 當沒有匹配記錄時組件上的屬性,即當不匹配或父包時組件失敗。

感謝

prav