В компоненте скрипта переменные могут быть записаны только в методе PostExecute
, в отличие от метода ProcessInputRow
.Чтобы обновить переменную значением из столбца, объявите переменную вне этих методов, обновите переменную в ProcessInputRow
и присвойте это значение переменной SSIS в методе PostExecute
.И, конечно, добавьте переменную SSIS в поле ReadWriteVariables
компонента Script.Как вы, возможно, знаете, метод ProcessInputRow
вызывается один раз для каждой строки, тогда как PostExecute
выполняется только после обработки всех записей, поэтому, если вам нужно что-то сделать со значениями из нескольких строк, вы захотите выполнитьэта логика в методе ProcessInputRow
.Просто помните о дополнительных накладных расходах, связанных с выполнением любых действий, которые вы выполняете для каждой записи, проходящей через этот компонент.
string nextPageLink = null;
public override void PostExecute()
{
base.PostExecute();
Variables.NextPageLink = nextPageLink;
}
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
nextPageLink = Row.href;
}