У меня есть приложение SSIS, которое должно получать данные из двух баз данных разных серверов (а не ссылок). Мне нужно получить имена совпадений и записи DOB между 2 базами данных, а затем использовать результаты для вставки/обновления таблицы. Мой первоначальный подход - использовать источник OLE DB, затем Merge Join и поместить результаты в набор записей. Затем в режиме управления используйте результаты набора записей для вставки/обновления таблицы. Но я не могу видеть набор записей в потоке управления. Альтернативное решение - создать временные таблицы. Но временные таблицы не видны, так как они находятся в базе данных tempdb для каждого сервера. Что лучше подходит для решения этой проблемы?SSIS: таблица записей или temp
ответ
что вы подразумеваете под put the results to recordset
?
Если вы соединяете два источника потока данных, используя соединение, то «набор записей» в соединении будет доступен только во время текущего потока данных. Вы не можете использовать его в потоке управления после того, как поток данных финиширован.
Почему вы не можете вставить набор результатов в базу данных назначения? Вы можете выполнить любую другую операцию преобразования в одном потоке данных и вставить результат в базу данных назначения.
Или, если вам действительно нужно сделать что-то, что может быть сделано только в потоке управления, прежде чем вставлять данные, вы можете вставить набор записей в временную таблицу адресата с помощью oleDBDestination и получить доступ в другом потоке данных (не очень хороший подход)
Спасибо за ваш ответ. Я использовал назначение OLE DB, а затем создаю другой пакет для обновления остальных таблиц с помощью команды OLD DB. – dmarkez
В этом случае я бы сохранил базу данных для рабочей таблицы или создал схему для этих рабочих таблиц.
Затем добавьте задачу потока управления SQL, которая усекает таблицу, которая будет удерживать промежуточный результат. После этого загрузите промежуточный результирующий набор в таблицу, выполните операцию и, возможно, снова обрезайте таблицу.
Пункт назначения записей подходит для небольших наборов данных. Но если вы планируете использовать его для больших наборов данных, которые не подходят для памяти, это будет очень медленно.
Если у вас нет базы данных/схемы, которая может служить рабочим пространством, вы можете использовать RAW-файлы для хранения промежуточного результата. Это очень быстро.
- 1. Таблица SSIS + Temp
- 2. Таблица Temp, потерянная немедленно в SSIS
- 3. Почему глобальная таблица temp, созданная пакетом SSIS, исчезает после завершения?
- 4. Таблица переменных в SSIS
- 5. #temp таблица не сбрасывается
- 6. SQL Dynamic Temp Таблица
- 7. Обновление от Temp Таблица
- 8. PostgreSQL таблица свалка Temp
- 9. Temp Таблица Garbage Collection
- 10. Populate Temp Таблица Postgres
- 11. таблица Temp разделена между процедурами
- 12. Таблица Temp по нескольким ADOQueries
- 13. Каково фактическое использование temp temp temp и temp blob в ssis
- 14. Temp таблица с преобразованными значениями
- 15. Update Temp Таблица с Группировать
- 16. Присоединяйтесь существующую таблицу Temp Таблица
- 17. Temp поведения Таблица хранимых процедур
- 18. Таблица Temp с ### (тройным) или большим количеством хэшей
- 19. Обработка записей в SSIS
- 20. Таблица Temp в Access/Manage Size
- 21. Вставить файл excel в таблицу temp. SSIS-пакет.
- 22. временная таблица в SSIS. Источник ado.net
- 23. Temp Таблица как вещь в C#
- 24. Операции SSIS - большие наборы записей
- 25. SSIS CSV и DB Таблица count Check
- 26. Oracle - глобальный Temp или NOT для глобального Temp
- 27. Force Oracle Global Капли Таблица Temp
- 28. SSIS заполнения перекрестных ссылок таблица
- 29. Выполнение пакета SSIS (таблица обрезания)
- 30. MySQL Temp Tables или View?
Данные на сервере A и сервере B. Является ли один набор таблиц драйвером, а другой ссылкой или оба набора необходимо объединить и загрузить в конечный пункт назначения? – billinkc