SSIS 条件拆分沿袭错误
SSIS Conditional Split Lineage Error
我正在尝试通过 SSIS 包和 3 个节点 运行 Excel table,它有条件拆分。我使用的是以前已知的工作电子表格,其中添加了一些数据。
我得到的具体错误是:
Conditional Split.Inputs[Split Input].Columns[ColumnName] has lineage ID 147 that was not previously used.
我尝试了几个电子表格都没有用。我最初得到的是 ID 105。
我的具体问题是:ID对应的是什么?我在哪里可以尝试对它们进行故障排除?
一些额外的日志。
输出:
Error at Data Flow Task 1 [SSIS.Pipeline]: Conditional Split.Inputs[Conditional Split Input].Columns[ColumnName] has lineage ID 147 that was not previously used in the Data Flow task.
Error at Data Flow Task 1 [SSIS.Pipeline]: "Conditional Split" failed validation and returned validation status "VS_NEEDSNEWMETADATA".
Error at Data Flow Task 1 [SSIS.Pipeline]: One or more component failed validation.
Error at Data Flow Task 1: There were errors during task validation.
右击Conditional Split -> Advanced Editor -> Input and Output Properties -> 展开列,你会看到每一列都有一个Lineage ID。
"Lineage ID is a property of the component or transformation used in the data flow task. It contains an integer value that will work as buffer pointer. Each column in the data flow task will be assigned a lineage ID." Read about lineage ID in this Microsoft TechNet article
LINEAGE ID 错误意味着源元数据已更改,只需通过双击条件拆分并关闭它来重新验证源(连接和组件),然后检查列元数据(使用高级编辑器)。 (注意双击有错误的组件会提示修复)
或者您可以尝试删除 Conditional Split 并再次添加它(如果以前的解决方案不起作用)
我相信 SSIS 会为连接组件的每个管道中的每一列分配唯一标识符(沿袭 ID)。当组件需要 x 的沿袭 ID 但在输入管道中找不到它时,SSIS 会感到困惑。
通常,您尝试找到有问题的管道(在 BIDS/SSDT 中,使用 @Wendy 的方法)。双击管道或连接的组件有时会产生一个对话框,提供修复问题的选项。如果没有,那么移除并重新创建管道是最好的机会。
当您更改上游组件时,下游组件可能会受到不利影响。通常,进行中游修改时唯一的办法是重建整个下游。 SSIS 在这方面有点脆弱。
我正在尝试通过 SSIS 包和 3 个节点 运行 Excel table,它有条件拆分。我使用的是以前已知的工作电子表格,其中添加了一些数据。
我得到的具体错误是:
Conditional Split.Inputs[Split Input].Columns[ColumnName] has lineage ID 147 that was not previously used.
我尝试了几个电子表格都没有用。我最初得到的是 ID 105。
我的具体问题是:ID对应的是什么?我在哪里可以尝试对它们进行故障排除?
一些额外的日志。
输出:
Error at Data Flow Task 1 [SSIS.Pipeline]: Conditional Split.Inputs[Conditional Split Input].Columns[ColumnName] has lineage ID 147 that was not previously used in the Data Flow task.
Error at Data Flow Task 1 [SSIS.Pipeline]: "Conditional Split" failed validation and returned validation status "VS_NEEDSNEWMETADATA".
Error at Data Flow Task 1 [SSIS.Pipeline]: One or more component failed validation.
Error at Data Flow Task 1: There were errors during task validation.
右击Conditional Split -> Advanced Editor -> Input and Output Properties -> 展开列,你会看到每一列都有一个Lineage ID。
"Lineage ID is a property of the component or transformation used in the data flow task. It contains an integer value that will work as buffer pointer. Each column in the data flow task will be assigned a lineage ID." Read about lineage ID in this Microsoft TechNet article
LINEAGE ID 错误意味着源元数据已更改,只需通过双击条件拆分并关闭它来重新验证源(连接和组件),然后检查列元数据(使用高级编辑器)。 (注意双击有错误的组件会提示修复)
或者您可以尝试删除 Conditional Split 并再次添加它(如果以前的解决方案不起作用)
我相信 SSIS 会为连接组件的每个管道中的每一列分配唯一标识符(沿袭 ID)。当组件需要 x 的沿袭 ID 但在输入管道中找不到它时,SSIS 会感到困惑。
通常,您尝试找到有问题的管道(在 BIDS/SSDT 中,使用 @Wendy 的方法)。双击管道或连接的组件有时会产生一个对话框,提供修复问题的选项。如果没有,那么移除并重新创建管道是最好的机会。
当您更改上游组件时,下游组件可能会受到不利影响。通常,进行中游修改时唯一的办法是重建整个下游。 SSIS 在这方面有点脆弱。