- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在插入目标表期间,发生的任何错误都被重定向到错误表,我们可以在其中看到 ErrorCode
和 ErrorColumn
.问题是我们得到了一个值 ErrorColumn
它在包中的任何地方都不存在。也就是说,没有一列具有 LineageID
等于 ErrorColumn
.
后来,在每一列启用NULL条目的同时,我一一找到了导致问题的列。当我分析数据流任务中的列时,它没有 LineageID
这是在 ErrorColumn
中报告的.例如,ErrorColumn
报告为 413,但 LineageID
在第一次合并时为 84,在各种排序期间它会发生变化。不管怎样,它永远不会变成 413。这个 ErrorColumn
ID (413) 根本不存在,但它在错误重定向插入目标源(错误表)期间报告。
我检查了很多网站,但他们都建议通过 ComponenteMetaData.InputCollection
进行枚举。或 ComponentMetaData.OutputCollection
在脚本任务中,然后通过列进行枚举以找到 LineageID
,但没有任何成功。
正如我所说,我已经解决了这个问题,但由于我们处于 ETL 过程的早期阶段,这可能会发生在其他一些情况下。如何解决这个问题?
最佳答案
我正在复制我的答案,以便我们可以在网站上获得权威的问答
What is the simple way to find the column name from Lineageid in SSIS
我记得说过这不会那么难,我可以在错误重定向中编写一些脚本来从输入集合中查找列名。string badColumn = this.ComponentMetaData.InputCollection[Row.ErrorColumn].Name;
我了解到的是失败的列不在该集合中。嗯,是的,但是报告的 ErrorColumn 并不是我所需要的。我找不到那个包裹,但这里有一个例子,说明为什么我找不到我需要的东西。希望你会有更好的运气。
这是一个简单的数据流,一旦它由于被零除而到达派生列就会产生错误。 Derived 列生成一个新的输出列 (LookAtMe) 作为除法的结果。错误输出上的数据查看器告诉我失败的列是 73。使用上述脚本逻辑,如果我尝试访问输入集合中的第 73 列,它将失败,因为它不在集合中。 LineageID 73 是 LookAtMe 并且 LookAtMe 不在我的错误分支中,它只在非错误分支中。
这是我的 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>
<outputColumn
refId="Package\DFT Generate Errors\DER Divide by SomeNumber.Outputs[Derived Column Output].Columns[LookAtMe]"
dataType="i4"
errorOrTruncationOperation="Computation"
errorRowDisposition="RedirectRow"
lineageId="Package\DFT Generate Errors\DER Divide by SomeNumber.Outputs[Derived Column Output].Columns[LookAtMe]"
name="LookAtMe"
truncationRowDisposition="FailComponent">
关于ssis - ErrorColumn 值不作为 Lineage ID 存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20351692/
在插入目标表期间,发生的任何错误都被重定向到错误表,我们可以在其中看到 ErrorCode和 ErrorColumn .问题是我们得到了一个值 ErrorColumn它在包中的任何地方都不存在。也就是
我是一名优秀的程序员,十分优秀!