【问题标题】:SSIS data flow task executing before previous task completes its SQL operation在前一个任务完成其 SQL 操作之前执行的 SSIS 数据流任务
【发布时间】:2017-12-04 16:09:44
【问题描述】:

在 SSIS 中,我有 DataFlowTask1,它将数据插入到 TABLE A。以下数据流任务将从TABLE A 拉取数据。但不幸的是,DataFlowTask2DataFlowTask1 完成插入数据之前就被触发了。是否有任何提交发生?一旦上一个任务完成 SQL 操作,我应该如何确保以下数据流启动?

另外,什么是 SSIS 中的 TransactionOption 和 Isolation 级别属性。这些属性中的任何一个都可以帮助解决我的问题吗?

【问题讨论】:

  • 如果您的“优先约束”箭头设置为 success 并且从 DFT1 转到 DFT2,则在第一个成功完成之前不应启动第二个。
  • @TheEsisia 是的,我将值标志设置为成功。但它没有用。个别 DFT 按预期工作。但是当两者都启用时它们不起作用
  • 可以发截图吗?
  • 您是否偶然在两个 DFT 之间复制粘贴了任何对象?
  • @TheEsisia - 是的,DFT1 中的一些数据流组件进入 DFT2

标签: sql-server sql-server-2008 tsql ssis transaction-isolation


【解决方案1】:

根据您在 cmets 中所说的,我认为这就是发生的情况:当您将对象从一个 Data Flow Task 复制粘贴到同一包中的另一个时,SSIS 有时不会自动为该对象分配一个新的ID。所以 SSIS 没有意识到它们是两个对象,因此不会在另一个之前执行一个。两种选择:

  1. 检查您的对象(特别是您复制的对象)的 ID,看看它们是否具有相同的 ID。
  2. 只是不要复制粘贴。通过拖放全新的对象来完成所有操作。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多