SSIS - 在表中查找元素,使用其键并插入另一个表

时间:2014-10-27 16:21:45

标签: ssis

我有以下3个表的数据库:

enter image description here

  • Customers.CustomerId是整数且PK
  • Addresses.AddressId是整数,PK
  • CustomerAddresses.Customer_CustomerId是整数,FK是客户
  • CustomerAddresses.Address_AddressId是整数,FK是地址
  • Customers.EntityId是GUID
  • Addresses.EntityId是GUID

我使用SQL Server Integration Services。

我还有一对带有addressEntityID和customerEntityId的XML文件。这些是EntityID(GUID),需要映射到ID(整数)并插入到CustomerAddresses中。

如何映射此关系并导入到CustomerAddresses?

我想对每行select CustomerId from Customers where EntityId = {0}执行类似操作,然后使用此值进行插入。可以这样做吗?

在你建议之前,我应该使用EntityId作为PK,原因是,没有为数据库中的所有数据提供那些。只有导入的数据和来自其他系统的数据才具有EntityId。

1 个答案:

答案 0 :(得分:1)

  1. 在数据流中删除XML源
  2. 添加派生列,从XML映射值(必须从字符串映射到GUID)
  3. 添加查找,连接到地址表,从派生的AddressGuid创建JOIN到EntityId。输出AddressId。
  4. Lookup configuration

    1. 添加另一个查找并对Customers表执行相同操作
    2. 添加数据库目标,将值从Lookup映射到AddressId和CustomerId