我是 SSIS 的新手。目前致力于将数据从 SQL 迁移到 Oracle。我们在两个数据库中都有表(具有不同的数据类型)。比如说,一位主人(角色)和一位 child (雇员)。我正在将 Employee 表从 SQL 迁移到 Oracle。 RoleID 是 Employee 表中的 FK。
由于 Destination 数据类型和 RoleId 与 Source 不同,我需要从 Source 员工表中获取“RoleName”,连接到 Destination 中的 Role 表并获取相应的 ID。
来源: 员工表 --> RoleId(GUID 数据类型)
目的地 雇员表 --> RoleId (Int 数据类型)
我尝试使用 FuzzyLookup 和 Lookup,但在那里我没有获得目标连接管理器的详细信息。任何其他想法如何实现这一目标?
提前致谢。
表结构:
最佳答案
处理此问题的最佳方法(如果可以)是按原样将源数据导入目标服务器上的暂存表,然后在目标服务器上的过程中将数据导入最终表在过程代码中查找以获取 ID。
如果您不能这样做并且必须在 SSIS 包中完成所有操作,那么您可以通过将另一个源组件添加到您的数据流来实现这一点,该组件从 Oracle 中的角色表获取数据并执行合并连接以来自 SQL Server 的数据加入 RoleName
以从 Oracle 表中获取 ID
到数据流中。请注意,如果您这样做,则必须在 Merge Join 键 (RoleName
) 上订购两个源组件。
关于sql - 需要 SSIS 帮助 - 如何从目标获取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54908229/