SSIS LookUp 没有像文档所说的那样处理 NULL
我有一个使用查找的 SSIS 数据流。有时要查找的值(在我的流中,而不是在查找表中)为空。
考虑使用完整缓存,它支持对空值的查找操作。
我正在使用完全缓存(这是默认设置)。
但是当我运行时,我在空行上收到此错误:
行在查找期间没有产生匹配
如果我将结果更改为忽略不匹配,那么它工作正常。但这忽略了所有不匹配的情况。我只想允许空值通过(作为空值)。任何其他不匹配都会导致该组件失败。
我做错了什么?如何将空值写入为空值,但不忽略任何其他错误。
(注意:我已经仔细检查了我的查找表。它具有源表中的所有值。它只是没有 NULL 作为值(因为查找值为 null 很奇怪。)
I have an SSIS data flow that uses a lookup. Sometimes the value to be looked up (in my stream, not in the lookup table) is null.
The MSDN Docs say:
consider using full caching, which supports lookup operations on null values.
I am using Full Caching (that is the default).
But when I run I get this error on my null rows:
Row yielded no match during lookup
If I change the result to ignore no-matches then it works fine. But that ignores all no-matches. I just want to allow nulls through (as null). Any other no-match should fail the component.
What am I doing wrong? How can I get nulls to write as nulls, but not ignore any other errors.
(NOTE: I have double checked my look up table. It has ALL the values that are in my source table. It just does not have NULL as a value (because it is weird to have a look up value for null.)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
我从来没有注意到 BOL 中关于完整缓存模式的那一行。您的问题的答案是您已经说过的关于参考数据集中包含 NULL 的内容。一个快速证明是这两个示例数据流。
在此示例中,我生成 4 行数据:1、2、3 和 NULL (Column_isNull = true),并命中包含所有值的内存表,并在数据流中的 Column 和定义在中的 c1 之间执行查找。内存中的表。正如您所描述的那样,它爆炸了
然后我向查找表中添加了一个值 NULL 和瞧,全缓存查找能够将 NULL 与 NULL 匹配。
要点
要在查找组件中匹配 NULL 输入值,参考数据集必须具有相应的 NULL 值可用,并将缓存模式设置为 FULL。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我知道这是一个迟到的答案,但对于像我一样搜索此问题的人来说,我发现这是最简单的答案:
在查找连接中,使用 SQL 查询检索数据并添加 UNION SELECT NULL, NULL 到底部。
例如:
预览将显示在查找中可用的附加行
CarId = Null
和CarName = Null
。I know this is a late answer, but for anyone searching on this like I was, I found this to be the simplest answer:
In the lookup connection, use a SQL query to retrieve your data and add
UNION SELECT NULL, NULL
to the bottom.For example:
Preview will show an additional row of
CarId = Null
andCarName = Null
that will be available in the lookpup.