Как получить доступ к переменным в ScriptComponent в задаче DataFlow и назначить локальную переменную - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь получить доступ к переменной RowCount.Тем не менее, я не могу сделать: так как его присваивать значение как 0 для подсчета строк, даже если есть набор результатов

var rowCount=this.Variables.RowCount;

1 Ответ

0 голосов
/ 08 февраля 2019

Где вы пытаетесь получить доступ к этой переменной, и пытаетесь ли вы обновить ее?Переменные служб SSIS могут быть записаны только в методе PostExecute.Чтобы сделать это, начните с добавления переменной в поле ReadWriteVariables редактора компонентов скрипта, затем вы можете получить к ней доступ, как показано ниже.

Ваша переменная называется rowCount.Вы хотите вернуть количество строк, которые проходят через задачу потока данных?Компонент сценария вызывается один раз для каждой записи в задаче потока данных.Чтобы получить общее количество записей, используйте преобразование Row Count и присвойте переменную результату этого.

int rowCount;

public override void PreExecute()
{
    base.PreExecute();
    //get variable value before processing rows.
    rowCount = Variables.RowCount;
}

public override void PostExecute()
{
    base.PostExecute();
    //update variable after records have been procssed
    Variables.RowCount = rowCount;
}
...