2012-06-01 44 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