0

我在 SSIS 2012 中有一个脚本组件,它从中获取数据WebService(json)、反序列化并插入到表中。

这工作正常,但有时 Web 服务已关闭,我收到 500 错误。所以我想将这些错误记录到LogTable使用另一个OutputBuffer.

所以我想出了这个:

for (int attempts = 0; attempts < 10; attempts++)
{
    try
        response = wr.GetResponse();
        break;
        // success = true;
    }
    catch (WebException ex)
    {
        //success = false;
        Output2Buffer.AddRow();
        Output2Buffer.Message = "Error 500, Waiting 30s and retrying";
        System.Threading.Thread.Sleep(30000);
    }
}

问题是我从 web 服务中检索的数据量很大,有时需要几个小时才能获取这些数百万条记录,如果我这样记录,它不会Message在发生错误时立即将其插入日志表但仅当缓冲区填充到 10000 行/10 MB 时。

如何强制逐行OutputBuffer传递。不等待缓冲区填满。

4

0 回答 0