gpt4 book ai didi

ssis - 在 SSIS 中从 Lineageid 中查找列名的简单方法是什么

转载 作者:行者123 更新时间:2023-12-04 18:49:45 24 4
gpt4 key购买 nike

从 SSIS 中的 Lineage Id 中查找列名的简单方法是什么。有没有可用的系统变量?

最佳答案

我记得说过这不会那么难,我可以在错误重定向中编写一些脚本来从输入集合中查找列名。
string badColumn = this.ComponentMetaData.InputCollection[Row.ErrorColumn].Name;
我了解到的是失败的列不在该集合中。嗯,是的,但是报告的 ErrorColumn 并不是我所需要的。我找不到那个包裹,但这里有一个例子,说明为什么我找不到我需要的东西。希望你会有更好的运气。

这是一个简单的数据流,一旦它由于被零除而到达派生列就会产生错误。 Derived 列生成一个新的输出列 (LookAtMe) 作为除法的结果。错误输出上的数据查看器告诉我失败的列是 73。使用上述脚本逻辑,如果我尝试访问输入集合中的第 73 列,它将失败,因为它不在集合中。 LineageID 73 是 LookAtMe 并且 LookAtMe 不在我的错误分支中,它只在非错误分支中。

Basic data flow

这是我的 XML 的副本,您可以看到,是的,outputColumn id 73 是 LookAtme。

<outputColumn id="73" name="LookAtMe" description="" lineageId="73" precision="0" scale="0" length="0" dataType="i4" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="Computation" errorRowDisposition="RedirectRow" truncationRowDisposition="RedirectRow" externalMetadataColumnId="0" mappedColumnId="0"><properties>

不过我真的很想要这些数据,而且我很聪明,所以我可以将所有结果重新组合在一起,然后有条件地将其拆分出来以得到它。问题是, Union All is an asynchronous transformation .异步转换导致数据从一组黄油复制到另一组,从而导致...分配新的沿袭 ID,因此即使使用联合将两个流重新组合在一起,您也无法调用数据流链来查找原始谱系 ID,因为它位于不同的缓冲区中。

在这一点上,我承认失败并决定我可以在我的包中没有智能/有用的错误报告。

关于ssis - 在 SSIS 中从 Lineageid 中查找列名的简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8120634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com