【问题标题】:SSIS: How to transfer data from table A to table B and then update table A flag column for each rowSSIS:如何将数据从表 A 传输到表 B,然后为每一行更新表 A 标志列
【发布时间】:2010-05-11 06:06:50
【问题描述】:

我需要在 SSIS 中创建一个包,它将根据表 A 中的标志有选择地将数据从表 A 传输到表 B,并在传输后更新表 A 中的标志。

请就该场景的处理方法以及可以有效完成此操作的不同方式提出建议。

我还想提一下,我以前从未从事过 SSIS 包的工作。

【问题讨论】:

  • 您到底在寻找什么(即您尝试过什么;问题是什么(性能?))?我认为数据流任务很容易解释。源 -> 条件拆分(如果您读取不需要的记录)-> SQL 任务(用于更新)-> 目标。
  • 在使用 DFT 将数据传输/插入到表 B 后,我看不到可以更新源表 A 的每一行的方法。所以我想要的是在每行传输之后,我想更新该行中的标志,这可能使用 DFT 吗?

标签: sql sql-server-2005 ssis


【解决方案1】:

DFT:来源:选择标志过滤的查询

执行 SQL:使用相同的标志代码更新语句

【讨论】:

  • 我看到使用执行 SQL 任务的唯一问题是 - 如果在 DFT 开始运行后将行添加到表中怎么办? Exec sql 任务会将它们“标记”为已处理,而不会将它们加载到表 B 中。我认为将多播与 SQL 命令组件结合使用并在事务中运行可以解决问题。
  • 使用 OLE DB 命令会导致性能下降。按照建议使用数据流任务,然后执行 SQL 任务。将两者都放在一个序列容器中,并在序列容器上“要求”一个事务。
猜你喜欢
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 2013-11-10
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
  • 2017-08-08
相关资源
最近更新 更多