У меня есть исходная таблица в базе данных Sybase (ORDERS) и исходная таблица в базе данных MS SQL (DOCUMENTS). Мне нужно запросить базу данных Sybase и для каждой строки, найденной в таблице ORDERS, получить соответствующие строки по номеру заказа из таблицы DOCUMENTS.
Первоначально я написал пакет служб SSIS, используя преобразование поиска, просто, за исключением того, что это может быть отношение «один ко многим», где в таблице ORDERS будет существовать 1 номер заказа, но в таблице DOCUMENTS может существовать более 1 документа. Поиск в службах SSIS будет сопоставляться только в первую очередь.
Моя вторая попытка будет состоять в том, чтобы поместить строки из таблицы ORDERS в промежуточную таблицу в MS SQL, а затем l oop через строки в этой таблице, используя a FOR EACH L OOP CONTAINER и получите соответствующие строки из таблицы DOCUMENTS, вставив строки DOCUMENTS в другую промежуточную таблицу. После того, как все строки из ORDERS будут обработаны, я напишу запрос, чтобы объединить две промежуточные таблицы, чтобы получить мой результат. Проблема этого метода заключается в том, что я буду многократно открывать и закрывать соединение с базой данных DOCUMENTS, что не будет очень эффективным (хотя, вероятно, будет меньше 200 записей).
Или вы могли бы сообщить мне любого другого способа сделать это?