SSIS:特定查找的奇怪问题

Posted

技术标签:

【中文标题】SSIS:特定查找的奇怪问题【英文标题】:SSIS: Weird issue with a particular lookup 【发布时间】:2017-08-24 20:18:43 【问题描述】:

我有一个使用 SSIS 和 Visual Studio 2015 开发的 ETL 项目。我在数据仓库中的一个事实表中添加了一个新维度键列,并且需要将数据流中的查找添加到从相应的维度表中获取主键。我设置了所有这些,它运行良好,没有错误,但我得到的结果不正确。该列的每一行都填充有 -1,这是我们使用派生列组件默认 NULL 值的值。我知道事实上这些值不是 NULL,因为

1) 我使用与 SSMS 中的源组件中相同的 SQL 以及源组件中的预览按钮手动检查了这些值。 2) 我通过 Visual Studio 手动运行包,并在查找前后启用了数据查看器,两个查看器都显示了输入列和查找列的正确值。 3) 我从忽略失败更改为将行重定向到错误输出,并设置了一个平面文件目标以将输入键打印为应该为 NULL,并且文件显示了我期望的所有有效键。

我已经使用这些键并手动对我的暗表进行了查找,只是为了验证查找列是否匹配并且存在。这是真正奇怪的部分。如果我单独运行包,那么一切正常。当我通过目录或 SQL 代理运行整个主包时,我得到所有 -1 值。我知道以后没有任何任务正在修改该值,因为我只是将它添加到表中。我无法弄清楚为什么我的所有行都被重定向到错误输出,但它们不是 NULL 值。如果有人对我尝试不同的东西有任何建议,我会全神贯注。

【问题讨论】:

【参考方案1】:

我知道这可能很愚蠢,但您可能没有在目标中映射正确的列,或者根本没有映射?

【讨论】:

是的,映射是正确的。如果我通过 Visual Studio 或通过目录自行运行包,那么它会正确填充。我非常接近从头开始重建整个包,看看是否能解决它,但我真的很想知道是什么导致了问题。

以上是关于SSIS:特定查找的奇怪问题的主要内容,如果未能解决你的问题,请参考以下文章

sql SQL查询SSISDB以查找与特定SSIS包相关的错误消息

带有数值的 SSIS 查找不起作用

SSIS 查找 组件

将 SSIS 包转换为 .NET 应用程序?

奇怪的 SSIS 错误(进程退出代码 255)

通过SSIS的“查找”组件进行不同数据源之间数据的合并操作