SSIS 2008 Преобразование числа строк - возвращение числа строк 0 - PullRequest
4 голосов
/ 10 марта 2011

Это должно быть довольно просто, но я не знаю, почему я получаю количество строк как ноль, когда я использую преобразование ROW COUNT в Задаче потока данных. Я создал переменную (NoOfRecords) с областью действия пакета.

Имя переменной установлено в переменную NoOfRecords в преобразовании количества строк. Image1

Использовал производный столбец для назначения количества строк. Image2

Пакет успешно запущен и показывает количество записей 265 Image3

Но столбец Производные показывает количество записей как 0 вместо 265 строк. enter image description here

Ответы [ 4 ]

3 голосов
/ 21 июня 2011

После подсчета строк добавьте агрегированные значения и выберите опцию подсчета на вкладке «Операция» в свойствах задачи агрегирования. Затем вы можете использовать переменную количества строк для дальнейшей работы, где она содержит общее количество строк входного файла.

2 голосов
/ 10 марта 2011

Количество строк обрабатывается после прохождения строк.

Вы добавляете переменную в каждую строку, когда они проходят через шаг Производный столбец, но в настоящее время переменная не была обновлена ​​(как это происходит после того, как все строки прошли) - поэтому значение 0это правильно.

Вы, возможно, сможете достичь этого, используя асинхронную задачу перед вашим выводом (но я не уверен, что это сработает, это просто пришло мне в голову).Добавьте шаг сортировки или агрегирования перед производным и повторите попытку.

0 голосов
/ 11 января 2019

Вот успешный метод записи строк, который работал в моей ситуации. Сценарий таков, что я хочу записывать строки, перенесенные между таблицами RowCount не заполняется, пока вы не выйдете из DataFlow. [Контроль потока] 1. Задача потока данных а. читать исходные данные - контроль источника б. Добавьте преобразование RowCount. Ссылка от а до б. Щелкните правой кнопкой мыши RowCount и сопоставьте с UserVariable (int64) с. Добавить пункт назначения для загрузки таблицы. д. Ссылка б к с. 2. Добавьте задачу «Выполнение SQL» в ControlFlow. щелкните правой кнопкой мыши, отредактируйте Оператор INSERT SQL: вставка значений в LogTable (rowcount) (?) Отображение параметров Направление переменной DataType ParameterName ParameterSize Пользователь :: RowCount INPUT LONG 0 -1

0 голосов
/ 23 ноября 2018

Я использовал это в запросе как эффективный способ получения количества строк:

count (все SnapshotDate) over () как nRowCount

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...