【问题标题】:SSIS Populating to multiple tableSSIS填充到多个表
【发布时间】:2014-05-24 02:39:43
【问题描述】:

我的 SQL Server 上有这些表

  1. view_items - 物品代码、物品名称、描述、长度、宽度、高度、重量
  2. items - itemid, itemname, itemcode, description
  3. items_specs - itemspecsid、itemid、长度、宽度、高度、重量

我尝试使用 SSISOLEDB Source 将数据从我的视图 (view_items) 导入到 items 表和 OLEDB 目的地。我设法成功导入它,但我的问题是我怎样才能使用插入的 itemid 作为 item_specs 表的外键。

【问题讨论】:

    标签: sql ssis


    【解决方案1】:

    您需要 2 个数据流任务。第一个数据流组件将像您所做的那样填充项目表。 第二个数据流任务将使用 view_items 作为源,然后您可以使用查找转换。

    在列部分,您可以根据记录的唯一性进行映射。例如,如果您的 itemname 是唯一的,则如下所示并检查 itemid 列作为查找列。

    -

    【讨论】:

      【解决方案2】:

      1) 我将这样开始: 在 items 表上关闭 identity_insert。 从项目中找到最大值,并将其递增 1。这是从 view_items 检索到的当前信息行的项目 ID。您可以使用查找表来存储最大 ID。 现在可以将这个项目 ID 插入到项目和 items_specs 中 完成后,打开 identity_insert

      【讨论】:

        【解决方案3】:

        这行得通吗? 我认为您可以在“项目”加载后使用OLEDB Source 使用下面的Source 脚本添加 DTF

        SELECT  IS.itemspecsid, 
                IS.itemid, 
                IS.length, 
                IS.width, 
                IS.height, 
                IS.weight
        FROM    items I
        JOIN    items_specs IS ON I.itemid = IS.itemid
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多