Я часто сталкиваюсь с ситуацией в пакетах SSIS, где я запускаю команду SQL для возврата набора строк из ADO-соединения. Есть случаи, когда я хочу разветвляться на основе количества возвращаемых строк. Набор результатов ado хранится в типе данных объекта «SSIS». Есть ли способ в выражении SSIS или компоненте Script получить такое количество строк?Как определить количество строк в наборе данных SSIS
ответ
Вместо использования задачи Execute Sql используйте задачу потока данных, подобную этой.
- Используйте исходный компонент для получения ваших данных
- Используйте компонент ROWCOUNT для хранения сверку в переменную
- Используйте компонент записей назначения и хранить, что в исходной переменной (тип System.Object)
Затем вернитесь к потоку управления и продолжайте, как вы планировали, используя переменную rowcount для ветвления вашего потока управления.
Вы можете создать ограничение приоритета после выполнения задачи SQL для переменной типа объекта, @ [User :: objectvariable]> 0 как выражение в прецеденте. Однако в Execute SQL Task вы получите набор результатов для переменной объекта.
Не удалось заставить его работать ... – Tequila
@Nanda Попробуйте проверить свои ответы перед публикацией их, вы бы увидели ошибку. –
Это был отличный ответ и отличный прыжок от меня, когда я изучал задачу потока данных. Большое спасибо 3 года спустя! –
Рад это слышать! Спасибо @MattAkers –