SSIS 2005 如何以编程方式解决错误“输入列具有以前未在数据流任务中使用的世系 ID”

SSIS 2005 how to resolve the error "input column has lineage id that was not previously used in the data flow task" programmatically

提问人:user2000769 提问时间:9/20/2013 最后编辑:Hadiuser2000769 更新时间:10/24/2023 访问量:21862

问:

我正在尝试编写一个程序,该程序在.dtsx文件(目标是SSIS 2005)中的所有组件中自动添加OLE DB源中的列。当我使用程序处理 .dtsx 时,列似乎已正确添加,但是当我打开修改后的包时,组件中会出现以下消息:

输入列具有以前未在数据流任务中使用的世系 ID。

如果我双击该组件,然后按 OK,错误就会消失。

我的问题是:

有没有办法以编程方式实现相同的行为?我将尝试使用此程序为用户自动执行此操作,但出现此错误时,请阻止我进入项目。

验证 SQL-Server-2005 输入 SSIS

评论

0赞 Kumar Vaibhav 10/21/2013
我不确定您是如何添加列的,但似乎您添加的列已正确添加,但元数据未更新。当您打开组件时,元数据会更新,错误会消失。您应该询问如何以编程方式更新元数据。谢谢!
0赞 Tab Alleman 5/13/2015
如果不知道如何添加列并分配其世系 ID,则无法诊断此问题。
0赞 Michael Entin 2/25/2022
我会比较在设计器中打开组件之前和之后的包(它是 XML),看看发生了什么变化。它可能暗示需要修复的内容。

答:

-3赞 sonu kumar 5/8/2018 #1

源列和目标列必须具有相同的 linage id。

评论

1赞 Adrian P 1/18/2019
多么精彩的答案!
0赞 Soheila Tarighi 1/27/2021 #2

我有这个问题,我可以通过以下解决方案解决它,但我知道这不是有用的解决方案。 元数据无法检测到您的更改,您可以删除您的任务并重新创建该任务