【问题标题】:SSIS Conditional Split Lineage ErrorSSIS 条件拆分沿袭错误
【发布时间】:2017-04-27 19:55:52
【问题描述】:

我正在尝试通过一个 SSIS 包和 3 个节点运行 Excel 表,它有一个条件拆分。我正在使用以前已知的工作电子表格,其中添加了一些数据。

我得到的具体错误是:

Conditional Split.Inputs[Split Input].Columns[ColumnName] 具有以前未使用的沿袭 ID 147。

我尝试了几个电子表格,但均无济于事。我最初得到的是 ID 105。

我的具体问题是:ID 对应于什么?我在哪里可以尝试对其进行故障排除?

一些额外的日志。

输出:

数据流任务 1 [SSIS.Pipeline] 出错:Conditional Split.Inputs[Conditional Split Input].Columns[ColumnName] 的沿袭 ID 为 147,之前未在数据流任务中使用。

数据流任务 1 [SSIS.Pipeline] 出错:“条件拆分”验证失败并返回验证状态“VS_NEEDSNEWMETADATA”。

数据流任务 1 [SSIS.Pipeline] 出错:一个或多个组件验证失败。

数据流任务 1 出错:任务验证期间出现错误。

【问题讨论】:

    标签: sql-server ssis etl ssis-2012 conditional-split


    【解决方案1】:

    “Lineage ID 是数据流任务中使用的组件或转换的属性。它包含一个整数值,用作缓冲区指针。数据流任务中的每一列都将分配一个 lineage ID。 " Read about lineage ID in this Microsoft TechNet article

    LINEAGE ID 错误意味着源元数据已更改,只需通过双击条件拆分并关闭它来重新验证源(连接和组件),然后检查列元数据(使用高级编辑器)。 (请注意,当双击包含错误的组件时,它会提示修复它)

    或者您可以尝试删除条件拆分并重新添加(如果以前的解决方案不起作用)

    【讨论】:

    • 就我而言,它似乎没有兴趣提供给我。我已经进入了编辑选项卡,并且完全没有运气地更改了源代码。
    • @TylerC 你能给我们看一下 Visual Studio 中dataflow task + Error Output Tab 的快照吗(你可能会发现一些有用的警告)
    • @TylerC 尝试删除条件拆分然后再次添加
    • @TylerC 我要求提供错误列表。转到View -> Error List
    • 啊,我没有包括它,因为它是空的。哪个更令人困惑
    【解决方案2】:

    右键条件拆分 -> 高级编辑器 -> 输入和输出属性 -> 展开这些列,你会看到每一列都有一个 LineageID。

    【讨论】:

    • 这帮助我找到了正确的方向。假设每个节点都有 Lineage ID,我错了吗?我看到它们也出现在 Excel 连接节点中。
    【解决方案3】:

    我相信 SSIS 会为连接组件的每个管道中的每一列分配唯一标识符(沿袭 ID)。当组件需要 x 的沿袭 ID,但在输入管道中找不到它时,SSIS 会感到困惑。

    通常,您会尝试找到有问题的管道(在 BIDS/SSDT 中,使用@Wendy 的方法)。双击管道或连接的组件有时会生成一个对话框,提供解决问题的选项。如果没有,那么移除并重新创建管道是您最好的机会。

    当您更改上游组件时,下游组件可能会受到不利影响。通常,在进行中游修改时,唯一的办法是重建整个下游。 SSIS 在这方面有点脆弱。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      相关资源
      最近更新 更多