Я пытаюсь найти лучший способ приблизиться к следующему сценарию.
Обзор
Платежи собираются в течение дня и хранятся втаблица (SQL Server).В конце каждого дня эти платежи должны быть экспортированы и вставлены в другую базу данных (Oracle).Платежи, которые были успешно вставлены в базу данных Oracle, должны быть обновлены с отметкой времени.
Процесс
Шаг 1 - Каждая запись платежа должна сопоставляться сБаза данных Oracle, чтобы гарантировать, что значение, указанное в записи платежа, существует в базе данных Oracle.Платежи, удовлетворяющие этому шагу, перемещаются по конвейеру.
Шаг 2 - Платежи вставляются в базу данных Oracle, а любые ошибки вставки перенаправляются в набор записей.
Подход
Я использую источник данных OLEDB для платежей (SQL Server) и для значений поиска (Oracle), а затем использую соединение слиянием (Left Outer) для добавления данных к платежам.Используя условное разделение на основе результатов объединения слиянием, я передаю платежи, которые соответствовали поисковым данным, в назначение OLEDB.
Мне нужно обновить исходную таблицу платежей, указав только те платежи, которые ее преобразовали ввставка.Используя условное разбиение, я могу определить, какие строки не были сопоставлены на шаге 1, и, перенаправив строки в выводе ошибки при окончательной вставке, я могу определить, какие строки там потерпели неудачу.Однако я не вижу лучшего способа определить платежи, которые были успешно вставлены, и лучшего способа обновить исходную таблицу.