我必须将记录从 Oracle 中的表迁移到 SQL Server 2008 R2。我已经设计了允许我移动数据并将迁移的 ID 的副本保存到阶段表中的解决方案。
多亏了查找组件和阶段表,我可以确保避免重复,因为迁移是在几个不同的时刻完成的,并且迁移的对象不遵循特定的顺序。
在我的 SSIS 架构下方:
我使用一个表达式和两个变量从插槽中的 Oracle 收集数据:
SELECT *
FROM ORDERS
WHERE OrderID > [@User::Start] AND OrderID <= [@User::End]
AND STATUS <> 'Open'
当所有未处于“Open”状态的订单都被迁移后,我们将迁移剩余的增量。为此,我需要在 Stage 中查找已迁移的区域数据。所以对数据源的查询将是:
SELECT *
FROM ORDERS
WHERE OrderID NOT IN ([@User::AlreadyMigratedIDs])
我需要能够将表 Stage 中存在的所有 ID 存储在变量“AlreadyMigratedIDs”中。
如何将阶段表中的信息(在 SQL Server 上)用作 ADO.net 组件中用于从 Oracle 收集源数据的查询的条件?我可以在 ADO.net 对象之前使用任何其他 SSIS,例如查找吗?