2015-11-10 2 views
0

У меня есть две таблицы на двух разных серверах, имеющих одинаковые схемы. Для простоты предположим, что каждая таблица имеет 3 поля. Я пытаюсь создать пакет SSIS, который берет данные из обеих таблиц и объединяет их в один набор записей.Использование Merge Присоединиться к SSIS для объединения двух похожих таблиц

Я добавил два источника OLE DB, которые получают те же три поля из двух таблиц. Затем у меня есть преобразование сортировки на каждом, которое затем втекает в объединение слиянием. Я установил тип соединения в «Full Outer Join» в Merge Join. Я могу выбрать все шесть полей и увидеть результат, используя средство просмотра данных, выходящее из Merge Join.

Предположим, что в каждой исходной таблице было 25 записей. В Data Viewer я получаю 50 записей - 25 с NULL в последних трех полях и 25 с NULL в первых трех полях. Я хотел бы, чтобы на выходе было 50 записей с данными только в трех полях. Что я здесь делаю неправильно? Должен ли я использовать какой-либо другой вариант слияния?

Я был бы признателен за любые предложения о том, как решить, что должно быть простой задачей. Благодаря!

ответ

1

Вывод merge join вы используете правильно, так как используете full outer join. Чтобы исправить вашу проблему, используйте трансформацию merge вместо merge join. Это объединит ваши два отсортированных потока данных в один отсортированный поток данных. Вы уже создали свой поток данных правильно из вашего описания (он должен выглядеть следующим образом):

SSIS merge transformation

Документацию можно найти здесь: https://msdn.microsoft.com/en-us/library/ms141703.aspx

+0

markmanguy - Это работало отлично. Я * знал * Я забыл что-то простое. Большое вам спасибо за ваш быстрый ответ! – Loki70

Смежные вопросы