简体   繁体   English

SQL Server 2012 SSIS查找缓存不起作用

[英]SQL Server 2012 SSIS Lookup Cache not working

I'm using SQL Server Data Tools in Microsoft SQL Server 2012 to load data from the staging to the data warehouse. 我正在使用Microsoft SQL Server 2012中的SQL Server数据工具将数据从登台加载到数据仓库。 During the ETL process, I use the Lookup Transformation to get the dimension key from the lookup table into my fact table. 在ETL过程中,我使用“查找转换”将维键从查找表获取到事实表中。 My issue is that when I use the Full Cache in Lookup Transformation, all the rows went to the no match output. 我的问题是,当我在查找转换中使用完整缓存时,所有行都转到了不匹配输出。 When I use Partial cache or No cache, all the rows went to the match output as is supposed to be. 当我使用部分缓存或无缓存时,所有行都按预期的方式转到了匹配输出。 I'm really confused and don't understand what's going on here. 我真的很困惑,不明白这里发生了什么。 I really need some help here. 我真的需要一些帮助。

Thanks, Dan 谢谢,丹

If you are looking up based on a VARCHAR or NVARCHAR field, as billinkc has suggested, if the fields are in different cases (Dan Vs dan) this would lead to a no match. 如果您根据VARCHAR或NVARCHAR字段进行查询(如billinkc所建议),则如果字段处于不同情况(Dan与dan),则将导致不匹配。 Try doing an derived column of UPPER(SourceColumn) and use the query in the lookup Transformation to Select UPPER(MatchingColumn), LookedupKey from LookupTable and match on this. 尝试执行UPPER(SourceColumn)的派生列,并在查找转换中使用查询以选择UPPER(MatchingColumn),LookupTable中的LookedupKey并对此进行匹配。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM