sql - 需要 SSIS 帮助 - 如何从目标获取 ID

标签 sql sql-server oracle ssis oracle12c

我是 SSIS 的新手。目前致力于将数据从 SQL 迁移到 Oracle。我们在两个数据库中都有表(具有不同的数据类型)。比如说,一位主人(角色)和一位 child (雇员)。我正在将 Employee 表从 SQL 迁移到 Oracle。 RoleID 是 Employee 表中的 FK。

由于 Destination 数据类型和 RoleId 与 Source 不同,我需要从 Source 员工表中获取“RoleName”,连接到 Destination 中的 Role 表并获取相应的 ID。

来源: 员工表 --> RoleId(GUID 数据类型)

目的地 雇员表 --> RoleId (Int 数据类型)

我尝试使用 FuzzyLookup 和 Lookup,但在那里我没有获得目标连接管理器的详细信息。任何其他想法如何实现这一目标?

提前致谢。

表结构:

enter image description here

最佳答案

处理此问题的最佳方法(如果可以)是按原样将源数据导入目标服务器上的暂存表,然后在目标服务器上的过程中将数据导入最终表在过程代码中查找以获取 ID。

如果您不能这样做并且必须在 SSIS 包中完成所有操作,那么您可以通过将另一个源组件添加到您的数据流来实现这一点,该组件从 Oracle 中的角色表获取数据并执行合并连接以来自 SQL Server 的数据加入 RoleName 以从 Oracle 表中获取 ID 到数据流中。请注意,如果您这样做,则必须在 Merge Join 键 (RoleName) 上订购两个源组件。

关于sql - 需要 SSIS 帮助 - 如何从目标获取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54908229/

相关文章:

sql - 设置过高的批量大小有什么缺点?

sql - 有没有适用于 Eclipse 的 SQL 格式化插件?

sql-server - 在查询周围添加条件会使时间增加 2400% 以上

oracle - 在Oracle中更改FK删除规则而不删除并重新创建它?

java - hibernate框架会改变表结构吗?

c# - DateTime 列可为空时 Entity Framework 种子方法 DateTime 错误

mysql - 如何在两个查询中进行一个查询?

MySQL选择重复值中的一个字段

c# - 在 SQLServer Compact 中返回身份

java - 从信息模式中获取oracle中的表名列表