Мне нужно перенести записи из таблицы в Oracle в SQL Server 2008 R2. Я уже разработал решение, которое позволяет мне перемещать данные и сохранять копию перенесенных идентификаторов в таблицу сцен.
Благодаря компоненту Lookup и таблице этапов я могу обеспечить, чтобы избежать дубликатов, поскольку миграция выполняется в несколько разных моментов, а перенесенные объекты не соответствуют определенному порядку последовательности.Предварительные записи SSIS перед извлечением
Ниже моей SSIS схеме:
Я использую выражение и две переменные для сбора данных из Oracle в слотах:
SELECT *
FROM ORDERS
WHERE OrderID > [@User::Start] AND OrderID <= [@User::End]
AND STATUS <> 'Open'
Когда все заказы, которые не statsu " Open "были перенесены, мы перенесем оставшуюся дельту. Для этого мне нужно найти данные, перенесенные на сцену. Таким образом, запрос для источника данных будет:
SELECT *
FROM ORDERS
WHERE OrderID NOT IN ([@User::AlreadyMigratedIDs])
Моя потребность будет иметь возможность хранить в переменной «AlreadyMigratedIDs» все идентификаторы, присутствующие в таблицу Stage.
Как можно использовать информацию в таблице сцен (на SQL Server) в качестве условия для запроса, используемого в компоненте ADO.net, для сбора исходных данных из Oracle? Могу ли я использовать любой другой SSIS, например, поиск до объекта ADO.net?
Вы должны предоставить запрос и дизайн упаковки для того, чтобы объясните свой сценарий.AFAIK. Вы можете использовать 'Execute SQL Task' для хранения условия, например, получить все« ID »из« SQL Server »и сохранить в переменной. Затем создайте выражение sql с указанной выше переменной (' Select col .. из таблицы, где ID = @ variable') d использовать его в 'ADO.NET source' – praveen
@paveen: я добавил запрос, используемый для сбора данных. Мне нравится идея хранения идентификаторов в переменной и инициализация с помощью задачи SQL. Не могли бы вы привести пример? Какому типу данных должна быть переменная (всего около 160 тыс. Записей)? – Francesco
Откуда вы получаете значения для переменных 'User :: Start' и' User :: End'? – praveen