SSISLookup找不到匹配数据
用户有一个需要用txt更新表数据的功能,用lookup实现,步骤: 1. 循环文件夹的txt文件 2. 用Lookup 全部cache目标表数据,比对txt数据和目标表数据 3. 如果有match的数据用txt更新目标表 但是执行每次Match的数据都是0,而txt中确实存在匹配的数据。翻了一下
用户有一个需要用txt更新表数据的功能,用lookup实现,步骤:
1. 循环文件夹的txt文件
2. 用Lookup 全部cache目标表数据,比对txt数据和目标表数据
3. 如果有match的数据用txt更新目标表
但是执行每次Match的数据都是0,而txt中确实存在匹配的数据。翻了一下微软的BOL,有一句话很重要:
If there are multiple matches in the reference table, the Lookup transformation returns only the first match returned by the lookup query.If multiple matches are found, the Lookup transformation generates an error or warning only when the transformation has been configured to load all the reference dataset into the cache. In this case, the Lookup transformation generates a warning when the transformation detects multiple matches as the transformation fills the cache.
后来查了一下我的记录中确实记录都是重复,由于我选择了处理错误的方式“Redirect rows to no match output”,所以数据都到了Not match.
之后尝试将重复数据删除就正常了。因为考虑到大部分应用是数据仓库方面的,维度都是为一的,所以很少碰到这个问题。
还有一点要注意的是Lookup是大小写敏感的,在处理带有字符数据的时候要注意。
另外这个功能用上次提到的处理缓慢变化维的组件也可以实现。
上一篇: yii源码分析四——非核心类的导入注册
下一篇: AAA本地数据库与远程数据库差异分析
推荐阅读
-
匹配原始数据C列和Vlookup过来的数据D列是否一致的快捷方法
-
PHP 正则匹配h1的数据报错 preg_match(): Unknown modifier 'h' in
-
mysql修改密码、找不到mysql数据库、mysql1045等问题的解决办法
-
php+ajax 实现输入读取数据库显示匹配信息
-
C# 通过正则平衡组匹配scrip标签中的json数据
-
SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法
-
spring boot + aop切面+反射-实现数据字典匹配
-
Clustree:利用大数据自动匹配公司内部人才与职位
-
Element ui Table表格匹配字典项中的数据
-
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来