【问题标题】:Need to create a SSIS package which inserts data in destination column需要创建一个在目标列中插入数据的 SSIS 包
【发布时间】:2016-01-01 00:18:15
【问题描述】:

我需要将一个数据库中的表 A 中的一个单列值(columnA)转换为其他数据库中表 B 中的另一列 B。

当我转移 columnA 例如具有(员工姓名)但在目标表 B 中它应该是(员工 ID)。我有一个查找表,其中包含匹配员工姓名的employeeID。

条件: 我只需要在目标表 B 中更新一列。而不影响任何其他列。(是否可以以这种方式插入?我知道插入涉及所有要涉及的列)

我知道这可以在 SSIS 中完成,并且我已经创建了 * 来源 oledb *查找变换 *目标 OLEDB

但问题出在目标输出表 B 处,查找转换正在将 NULL 值插入到不匹配的列中。

有人可以指导我这是最好的方法吗? 同样,我需要包含来自各种数据库的目标表的各种流。

【问题讨论】:

  • 您可以发布数据流的图像吗?听起来您需要在查找更新表 B 之后进行“OLE DB 命令”转换。
  • 我在这里找不到任何上传图片选项卡。有什么方法可以在这里分享包流程吗?
  • 我尝试上传图片。但它说我需要至少 10 个点才能上传图片。流程就像 *SourceOLEDB *Conditional Split * LookUP transform * Destination OLEDB......
  • 查找总能找到记录吗?如果是这样,那么您将需要“OLE DB 命令”转换和更新 SQL 语句来更改记录。如果查找可能会失败,那么您需要将“目标 OLE DB”附加到查找失败

标签: c# mysql sql plsql ssis


【解决方案1】:

您需要使用 SQL 命令作为目标,并让它执行 UPDATE 命令来更新目标表,以使用查找表中的 ID 更新 EmployeeID 列的值。如果它们都在同一个数据库上,您可以在命令中进行连接,否则您应该使用查找转换来根据名称获取 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 2011-02-06
    • 2014-10-09
    • 1970-01-01
    相关资源
    最近更新 更多