Как вставить строки одну за другой с помощью буфера вывода компонента Script
У меня есть компонент Script в SSIS 2012, который берет данные из WebService(json)
, десериализовать его и вставить в таблицу.
Это работает правильно, но иногда веб-сервис не работает, и я получаю ошибку 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);
}
}
Проблема в том, что объем данных, которые я получаю с веб-сервиса, огромен, и иногда требуются часы, чтобы получить эти миллионы записей, и если я веду такую запись, она не вставит Message
в таблицу журнала немедленно, когда возникает ошибка, но только тогда, когда буфер заполнится до 10000 строк / 10 МБ.
Как заставить OutputBuffer
проходить ряды один за другим. Не дожидаясь заполнения буфера.