我需要将两个相似的数据库集成到第三个DB3中。 DB3与DB1几乎相同。
第一个数据库DB1:
地址表具有:主键AddressId
人员表,带有:主键PersonId
,外键AddressId
第二个数据库DB2:
它非常相似,但是用其他语言
从DB1到DB3的数据逐表平稳流动。例如,我在DB3表中有1000条名为DB1的Addresses的记录,在DB1表中有1000条名为People的表的记录。
假设DB3中的30号人员(从DB1转移后)的IdAddress号为20。
DB2中编号为40的地址在DB3中具有ID号1040,Person在DB2中具有ID号30,在DB3中具有1030。
在将表格People从B2转移到B3时,我们需要知道地址ID不是40,而是1040。
我正在尝试使用查找来查找现有记录,但是我是SSIS VS设计器中的新手。你可以帮帮我吗?我该如何解决这个问题?
最佳答案
意见建议
您可以使用提到的“查找转换”组件来执行此操作,但是首先必须执行以下操作:
选择可以区分每个逻辑实体的每个表的基本信息。例如,如果谈论人,则可以选择Fullname
+ Mothername
+ Date Of Birth
,...
选择此属性后,您必须添加查找转换
在源表和查找表之间映射这些列
选择ID列(从Lookup表中)作为Output并将该列重命名为NewID
选择Ignore failure
选项以处理不匹配情况
完成这些步骤后,如果先前插入了同一个人,您将在NewID
列中获得ID,否则NewID
为NULL
附加信息
Microsoft Docs - Lookup Transformation
UNDERSTAND SSIS LOOKUP TRANSFORMATION WITH AN EXAMPLE STEP BY STEP
SSIS Lookup Transformation
Lookup Transformation in SSIS