У меня есть ниже в области потока данных.Проблема, с которой я сталкиваюсь, заключается в том, что даже если результат равен 0, он все равно создает файл.
Кто-нибудь может увидеть, что я здесь делаю неправильно?
Это довольно ожидаемое и известное раздражающее поведение.Служба SSIS создаст пустой плоский файл, даже если он не отмечен: «имена столбцов в первой строке данных».
Временные решения:
удаление такого файла файломсистемная задача, если @RowCountWriteOff = 0 сразу после выполнения потока данных.
@RowCountWriteOff = 0
в качестве альтернативы, не запускайте поток данных, если ожидаемое количество строк в источнике равно 0:
Обновление 2019-02-11:
У меня проблема в том, что у меня 13они экспортируются в команды csv в потоке данных и являются дорогостоящими запросами
OnPostExecute
На основании вашего комментария я буду считать, что вы хотите перебрать много таблиц с помощью команд SQL, проверить, содержит ли таблица строку, если да, тоВы должны экспортировать строки в плоские файлы, иначе вы должны игнорировать таблицы.Я упомяну шаги, которые вам нужны для этого, и предоставлю ссылки, которые содержат больше деталей для каждого шага.
Execute SQL Task
SELECT COunt(*) FROM ....)
@[User::RowCount] > 0
Также полезно проверить предоставленные мной ссылки, поскольку они содержат много полезной информации и пошаговые руководства.
Предотвращение создания пустых плоских файлов службами SSIS - это распространенная проблема, в Интернете можно найти множество ссылок, предлагается множество обходных путей и множество методов, которые могут решить эту проблему:
Data Flow Task
Delay Validation
True
0
File System Task
o