轮询数据库中的大数据

时间:2012-01-31 21:26:05

标签: biztalk biztalk-2009 biztalk-2010 biztalk2006r2

  I have written stored procedure to poll the data from the database in biztalk.but the datasize is very large its around 80MB...Due to which i am getting error.Does anyone knows what configuration do i need to change to poll that much big amount of data.
表格中的

EDI 834 5010 2300循环我有大约35000行,我需要根据此表格分块数据

2 个答案:

答案 0 :(得分:2)

大量数据是什么意思?大blob字段还是很多行?如果后者是原因 - 修改您的过程以在块中返回数据并在适配器中设置PollWhileDataAvailable = true。

在我目前的一个项目中,我使用这样的过程代码来获取块中的数据:

DECLARE @SubsetOfChanges TABLE (ChangeID BIGINT PRIMARY KEY)

INSERT INTO @SubsetOfChanges
SELECT TOP 100 ChangeID FROM bts_DatabaseChanges WHERE Processed = 0 AND TableName = 'Producer'

SELECT p.*, changes.Operation as operation, changes.RowKey AS original_id 
FROM (SELECT * FROM bts_DatabaseChanges WHERE ChangeID IN (SELECT * FROM @SubsetOfChanges)) AS changes
JOIN [region].[dbo].crm_clsProducer p ON changes.RowKey = p.producer_id  

UPDATE bts_DatabaseChanges
SET Processed = 1
WHERE ChangeID IN (SELECT * FROM @SubsetOfChanges)

bts_DatabaseChanges是数据库中所有修改的日志表。

答案 1 :(得分:1)

您是否正在使用WCF LOB适配器?如果是这样,请检查发送接收端口上绑定的te MaxReceivedMessageSize属性是否从默认的65000字节增加。