Я хотел был бы сделать пакет который скопировал бы данные от таблицы только если таблица не пустая. Я знаю, как делать счет и как сделать пакет для копирования данных, но проблема в том, что у источника не может быть никаких входов, поэтому я не знаю, как это сделать. Какие-либо предложения?SSIS Скопируйте таблицу, если она не пуста
ответ
Я не понимаю ваш комментарий о перетаскивании «зеленой линии из пакета в источник», но вместо того, чтобы пытаться определить заранее, если таблица пуста, просто сделайте свою копию в любом случае, а затем посмотрите, сколько строк было скопировано:
- Создайте переменный пакет для ROWCOUNT
- Заполняет переменный с помощью ROWCOUNT преобразования
- Используйте an expression in the precedence constraint проверить переменный: если она больше нуля, то продолжить выполнение остальной части пакета
Если таблица не пуста, я должен усечь дезинтеграцию, иначе оставить ее как есть. Я имел в виду, что невозможно использовать, например, компонент условного разделения (который будет проверять, является ли таблица пустым), ограничение приоритета перетаскивания из него в источник OLE DB, откуда я буду выбирать данные для копирования. –
это работает, спасибо !! –
@Pondlife Я не думаю, что вы можете использовать ограничение приоритета для задачи потока данных, не так ли? Я считаю, что вы можете использовать его только в потоке управления.
Я бы добавил «Выполнение SQL-задачи» с подсчетом, посылая результат переменной и из этой задачи, я бы перетащил зеленую стрелку в задачу потока данных, которая делает копию, и на этой стрелке я бы добавил выражение для ограничения приоритета.
вы правы в отношении ограничения приоритета, но это не имеет особого значения: если у вас есть строка в переменной, вы можете использовать ее везде, где переменная может использоваться как в потоках данных, так и в потоках управления. Ваше предложение достигнет того же, что и мое, несколько иначе. – Pondlife
Как вы правильно отметили, источник потока данных не принимает ввод, поэтому невозможно выполнить логику в потоке данных, чтобы определить, должна ли эта задача выполняться.
Cannot create connector.
The destination component does not have any available inputs for use in creating a path.
Однако, нет ничего, что помешает вам настроить эту логику в потоке управления. Я бы использовал запрос, который попадает в DMVs for a fast rowcount в систему назначения, отфильтрован только для таблиц, которые я хотел воспроизвести.
Вооружившись списком пустых таблиц, это, вероятно, будет зависеть от того, как я буду справляться с этим. Для небольшого числа таблиц я бы определил N потоков данных, все с задачей ничего не делали в качестве прецедента, а затем использовали выражение для имени таблицы, чтобы включить путь, как я сделал на этом question.
Если есть много таблиц, я бы определил пакет для каждой таблицы, а затем вызовет задачу выполнения пакета с именем пакета, созданным динамически на основе имени пустой таблицы.
- 1. Скрыть таблицу корзины покупок, если она пуста
- 2. Вставить строку в таблицу, если она пуста и заменить существующую строку, если она не в SQLite
- 3. Woocommerce - Показать корзину, даже если она пуста
- 4. Попросите ввести подсказку() снова, если она пуста?
- 5. Должен ли отображаться сетка, если она пуста?
- 6. Удалить первую строку файла, если она пуста
- 7. «Если папка не пуста»
- 8. Создать таблицу, если она не существует
- 9. Oracle Создать таблицу, если она не существует
- 10. mysqldump - создать таблицу, если она не существует
- 11. таблицы базы данных не удаляется, если она пуста
- 12. Нажать строку, если она не пуста с MongoDB
- 13. В jsTree как предотвратить удаление папки, если она не пуста
- 14. Связанная очередь в python не может определить, если она пуста
- 15. Перерисовать таблицу, если строка поиска пуста
- 16. Oracle, выпадающая таблица, если она существует и пуста
- 17. Если ячейка пуста, то она равна ячейке рядом с ней; если ячейка не пуста, то ничего не делать
- 18. Форма, которая имеет значения при входе в систему, и если она не зарегистрирована, она пуста
- 19. Сообщение «Запись не найдена» в WPF DataGrid, когда она пуста
- 20. jQuery добавить дату для ввода, но только если она пуста
- 21. javascript - найдите длину метки и если она пуста?
- 22. jqGrid Как я могу скрыть подсечку, если она пуста?
- 23. Команда Sed N, как представляется, удаляет строку, если она пуста
- 24. Всегда отображать первую строку DataGrid, даже если она пуста?
- 25. Показать временную строку «Нет элементов» в DataGridView, если она пуста
- 26. MySQL переименовать таблицу, только если она существует
- 27. Восстановить таблицу, если она удалена вручную.
- 28. Усечь таблицу SQLite, если она существует?
- 29. Заполните поле с предпочитаемой строкой, если она пуста
- 30. Удалить строку в файле, если она пуста в powershell
Источник не может иметь какие-либо входы ??? – joshua
Я хотел сказать, что вы не можете перетащить зеленую линию из пакета в источник ... или я ошибаюсь и что-то не хватает? –