SSIS Lookup 找不到匹配数据

简介:

用户有一个需要用txt更新表数据的功能,用lookup实现,步骤:

 

  1. 循环文件夹的txt文件

  2. Lookup 全部cache目标表数据,比对txt数据和目标表数据

 

wKioL1Ph7J2DkGcKAAF0OO3-dD0548.jpg

3. 如果有match的数据用txt更新目标表

 wKioL1Ph7SiRRRp6AACpyH_8kJ8464.jpg

但是执行每次Match的数据都是0,而txt中确实存在匹配的数据。翻了一下微软的BOL,有一句话很重要:

If there are multiple matches in thereference table, the Lookup transformation returns only the first matchreturned by the lookup query. If multiple matches are found, the Lookup transformation generates anerror or warning only when the transformation has been configured to load allthe reference dataset into the cache. In this case, the Lookuptransformation generates a warning when the transformation detects multiplematches as the transformation fills the cache.

 

后来查了一下我的记录中确实记录都是重复,由于我选择了处理错误的方式“Redirect rows to no match output”,所以数据都到了Not match.

 

之后尝试将重复数据删除就正常了。因为考虑到大部分应用是数据仓库方面的,维度都是为一的,所以很少碰到这个问题。

 

还有一点要注意的是Lookup是大小写敏感的,在处理带有字符数据的时候要注意。

 

另外这个功能用上次提到的处理缓慢变化维的组件也可以实现。


本文转自 lzf328 51CTO博客,原文链接:

http://blog.51cto.com/lzf328/1536480
相关文章
|
5月前
【Azure Developer】使用PowerShell Where-Object方法过滤多维ArrayList时候,遇见的诡异问题 -- 当查找结果只有一个对象时,返回结果修改了对象结构,把多维变为一维
【Azure Developer】使用PowerShell Where-Object方法过滤多维ArrayList时候,遇见的诡异问题 -- 当查找结果只有一个对象时,返回结果修改了对象结构,把多维变为一维
|
8月前
|
Java 开发者
JDK 21中的记录模式(Record Patterns):简化对象匹配与解构
本文将详细介绍JDK 21中引入的新特性——记录模式(Record Patterns)。记录模式是一种强大的语言特性,它允许开发者在switch表达式中使用简化的语法来匹配和解构记录类型(record types)。本文将解释记录模式的概念、语法、使用场景以及与传统模式匹配的区别,并通过示例代码展示记录模式在实际开发中的应用。
|
easyexcel
EasyExcel低版本中数据行中包含空数据会跳过导致数据对应不上的问题解析
EasyExcel低版本中数据行中包含空数据会跳过导致数据对应不上的问题解析
513 0
|
关系型数据库 PostgreSQL
mybatisplus表字段是中文时启动项目报错(字符串访问越界)
报错信息: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Zp
|
SQL
在写左关联时SQL语句出现 Duplicate column name 'NAME'名字重复错误解决方法
在写左关联时SQL语句出现 Duplicate column name 'NAME'名字重复错误解决方法
Zp
512 0
|
开发框架 .NET C#
【C#】【报错解决】分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
【C#】【报错解决】分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
265 0
【C#】【报错解决】分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
|
SQL Linux 数据库
Linux将hiveSQL字段当做命令执行解决办法
Linux将hiveSQL字段当做命令执行解决办法
|
数据库 数据库连接
Entity Framework Core必须牢记的三条引用三条命令
关于EntityFramework Core有三个重要的引用和三条重要的命令,掌握以这六条,基本用Entity Framework Core就得心应手了。 引用1:Install-PackageMicrosoft.EntityFrameworkCore.SqlServer 这是SqlServer的Entity FrameworkCore的“驱动程序”。
1162 0