将日期从源 A 添加到源 B

问题描述 投票:0回答:1

我有两个 OLE DB 源,用于具有两个不同工作表的 Excel 文件。 表 A 和表 B。 工作表 A 单元格 I6 包含日期,我想合并两个源并在工作表 B 中添加一列以将该值设置为工作表 A 的日期值。可以这样做吗?任何想法都会有帮助,谢谢!

我尝试在每个源中创建相同的列,以便 UNION ALL Sheet A 和 Sheet B,但它没有按照我想要的方式返回。

表A(考虑这是他们的会员注册日期)

日期
2012-09-01

B 片

姓名 电话号码
亚当 123345678
大卫 123345678
玛丽 123345678

理想的结果

姓名 电话号码 日期
亚当 123345678 2012-09-01
大卫 123345678 2012-09-01
玛丽 123345678 2012-09-01
sql-server ssis
1个回答
0
投票

根据我在SSIS中的测试,你可以通过以下步骤完成:

  1. 工作表 A 的 OLE DB 源:配置 OLE DB 源以从工作表 A 读取数据。这里的关键字段是日期。

  2. 工作表 B 的 Excel 源:配置另一个 Excel 源以从工作表 B 读取数据。

  3. 工作表 A 的数据转换:由于 Excel 数据通常以 DT_WSTR 形式导入,因此您可能需要使用数据转换转换将工作表 A 中的日期转换为 SSIS 可以处理的格式 (DT_DATE)。

  4. 工作表 A 的记录集目标:使用记录集目标将工作表 A 中的单行数据(日期)存储在 SSIS 变量中。您可以为此目的创建一个新的对象变量。

  5. 将脚本组件作为工作表 B 的转换:对于工作表 B 的 Excel 源,添加充当转换的脚本组件。在此脚本组件中,您可以添加一个新的输出列(用于日期),并将其值设置为变量中的日期(存储工作表 A 中的日期)。您可以在 Input0_ProcessInputRow 方法中使用 Row. = Variables. 语法。

  6. OLE DB 目标:最后,您可以使用 OLE DB 目标将数据(现在包括工作表 A 中的日期)写入所需的目标。

© www.soinside.com 2019 - 2024. All rights reserved.