4

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

我得到的具体错误是:

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

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

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

一些额外的日志。

输出:

数据流任务 1 [SSIS.Pipeline] 出错:条件拆分.输入[条件拆分输入].列 [列名] 具有以前未在数据流任务中使用的沿袭 ID 147。

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

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

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

4

3 回答 3

4

“沿袭 ID 是数据流任务中使用的组件或转换的属性。它包含一个整数值,用作缓冲区指针。数据流任务中的每一列都将分配一个沿袭 ID。” 在此 Microsoft TechNet 文章中了解沿袭 ID

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

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

于 2017-04-27T20:08:31.087 回答
2

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

于 2017-04-27T20:05:45.420 回答
2

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

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

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

于 2017-04-27T20:10:41.643 回答