SSIS设计师Visual Studio外键集成

时间:2018-01-13 17:18:06

标签: sql-server ssis etl lookup-tables data-integration

我需要将两个类似的数据库集成到第三个DB3中。 DB3与DB1几乎相同。

第一个数据库DB1:

地址表包含:主键AddressId

人员表格:主键PersonId,外键AddressId

第二个数据库DB2:

它非常相似,但用其他语言

从DB1到DB3的数据流畅地流动,一个接一个地表。例如,我在DB3表中有1000条记录,名为DB1的地址,1000条记录在名为People的表中,来自DB1。

假设DB3中编号为30的人(从DB1转移后)的IdAddress编号为20。

DB2中编号为40的地址在DB3中的ID号为1040,而Person在DB2中的ID号为30,在DB3中的ID为1030。

在将人员从B2转移到B3时,我们需要知道地址ID不是40而是1040.

我正在尝试使用查找来查找现有记录,但我是SSIS VS设计师的新手。你可以帮帮我吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

建议

如上所述,您可以使用查找转换组件执行此操作,但首先必须:

  1. 选择可以区分每个逻辑实体的每个表的基本信息。如果谈论人员,您可以选择ksort($months); + Fullname + Mothername,...
  2. 选择此属性后,您必须添加查找转换
  3. 在Source和Lookup表之间映射thiese列
  4. 选择ID列(来自查找表)作为输出,并将列重命名为Date Of Birth
  5. 选择NewID选项以处理不匹配情况
  6. 执行这些步骤后,如果之前插入了同一个人,则会在Ignore failure列中显示该ID,否则NewIDNewID
  7. 其他信息