2010-02-22 1 views
6

Я часто сталкиваюсь с ситуацией в пакетах SSIS, где я запускаю команду SQL для возврата набора строк из ADO-соединения. Есть случаи, когда я хочу разветвляться на основе количества возвращаемых строк. Набор результатов ado хранится в типе данных объекта «SSIS». Есть ли способ в выражении SSIS или компоненте Script получить такое количество строк?Как определить количество строк в наборе данных SSIS

ответ

13

Вместо использования задачи Execute Sql используйте задачу потока данных, подобную этой.

  1. Используйте исходный компонент для получения ваших данных
  2. Используйте компонент ROWCOUNT для хранения сверку в переменную
  3. Используйте компонент записей назначения и хранить, что в исходной переменной (тип System.Object)

Затем вернитесь к потоку управления и продолжайте, как вы планировали, используя переменную rowcount для ветвления вашего потока управления.

+0

Это был отличный ответ и отличный прыжок от меня, когда я изучал задачу потока данных. Большое спасибо 3 года спустя! –

+0

Рад это слышать! Спасибо @MattAkers –

-1

Вы можете создать ограничение приоритета после выполнения задачи SQL для переменной типа объекта, @ [User :: objectvariable]> 0 как выражение в прецеденте. Однако в Execute SQL Task вы получите набор результатов для переменной объекта.

+0

Не удалось заставить его работать ... – Tequila

+0

@Nanda Попробуйте проверить свои ответы перед публикацией их, вы бы увидели ошибку. –