2012-06-01 41 views
2

在我的包中,我有一個源表,它有大約120000條記錄和一個沒有緩存模式和一個目的表的查找轉換。我從源中傳遞的數據與目標不匹配進入同一個目標表。當我執行包時,我可以看到,一次只有9000條記錄只移動到查找。一旦它插入到目的地,其他9000條記錄移動到查找並繼續。這是什麼原因9000記錄?我試圖通過將defaultbuffermaxrows和defaultbuffersize更改爲不同的值,但9000記錄一次只移動。我怎樣才能增加數據流量來查找

回答

3

在OLEDB目標我們有一個屬性ROWS PER BATCH。您可以使用它來更改每批傳輸的行數。

在這裏,您會看到9000個記錄movinf導致默認的最大行數爲10,000。

MSDN

定義一個任務將使用緩衝的默認大小,通過設定 的DefaultBufferSize屬性,並且在每個緩衝器限定行 的最大數量,通過設置DefaultBufferMaxRows屬性。 默認緩衝區大小爲10兆字節,最大緩衝區大小爲100 兆字節。默認的最大行數是10,000。

EDIT(根據您的意見):

它不工作,因爲你已經設置的cache選項lookupno cache。爲了讓它插入/流動所需或自定義行(>默認行)請按照下面的說明。

  • 在您的查找設置使cache modeFull cache
  • 查找時使用OLEDB Connection manager
  • in OLEDB Destination設置上述的ROWS PER BATCH
  • 在DataFlow屬性中,將Default BufferMaxRow設置爲所需的行。

將工作正常。

+0

我已經改變了,並嘗試了緩衝區大小和行數,仍然是9000行在一次。如果我刪除查找它會根據我的變化加載。所以,是什麼原因?它是設置查找? – NikRED

+0

@NikRED,編輯我的帖子。現在試試。 – Rahul