3.14、BI之SSIS之数据流转换(查找)

BI之SSIS之数据库转换(查找)

 

1          新建一个SSIS包,命名为“6-查找与重定向”-》打开

 

2          控制流-》拖入“数据流任务”-》双击打开

 

3          连接管理器-》右键“新建OLEDB连接”-》选择“LocalHost.AdventureWorks2008.sa”

 

4          数据流-》拖入“OLEDB源”-》双击打开

4.1         OLEDB连接管理器“LocalHost.AdventureWorks2008.sa”

4.2         数据访问模式“SQL命令”

4.3         SQL命令文本“selecttop 10 addressId from Person.Address where addressId<500”

4.4         点击列,查看要输出的列

4.5         确定

 

5          数据流-》拖入“查找”

5.1         将“OLEDB源”的数据流指向“查找”-》双击打开

5.2         常规

5.2.1    缓存模式“完全缓存”

5.2.1.1   完全缓存:缓存连接表的所有数据

5.2.1.2   部分缓存:缓存查找到是所有数据

5.2.1.3   无缓存:不缓存连接表的数据

5.2.2    连接类型“OLEDB连接器”

5.3         连接

5.3.1    OLEDB连接管理器“LocalHost.AdventureWorks2008.sa”

5.3.2    选择使用SQL查询结果“select top 10 * from Person.Address where addressId<500”

5.4         列

5.4.1    查找控件就相当于JOIN,列中可对要关联的字段进行关联,相当于ON

5.4.2    拖动AddressID连向另一边的AddressID

5.4.3    并勾选addressID、city列,作为输出列

5.5         确定

 

6          数据流-》拖入平面文件目标

6.1         将“查找”的数据流指向“平面文件目标”-》双击打开

6.2         输出“查找匹配输出”,这样查找到的匹配数据就会走这条数据流,不匹配的就不会走这条

6.3         平面文件连接管理器“新建”,在此新建一个平面文件连接

6.3.1    选择“带分隔符”

6.3.2    常规-》连接管理器名称“匹配的查找数据文件连接”-》文件名“浏览”-》选择保存路径-》文件名“匹配的查找数据文件”-》打开-》勾选“在第一个数据行中显示列名”

6.3.3    列-》列分隔符“制表符 {t}”

6.3.4    高级,可以设置各个列的属性

6.3.5    确定

6.4         映射,可对输入列和目标列间进行映射-》选择好映射关系

6.5         确定

 

7          执行包-》全绿成功-》查看相应的文件是否有数据

 

8          双击“OLEDB源”-》连接管理器-》SQL命令文本改为“select top 10 addressId from Person.Address where addressId>500”-》确定

 

9          再次执行包-》查找变成红色,表示查找出现了错误-》点击底部的“输出”,查看错误输出为““组件“查找”(19)”失败,错误代码为 0xC020901E,而且针对“输出“查找匹配输出”(21)”的错误行处理设置指定一旦出错就失败。”

 

10      为什么会出错,因为数据源是大于500的AddressID,而查找的数据却是大于500的数据,这时匹配的查找数据条数为0,所以报错。我们如何解决无法查找到数据的情况呢?这时就要用到“无匹配输出流重定向”

 

11      双击查找-》常规-》指定如何处理无匹配的行“将行重定向到无匹配输出”-》确定

 

12      数据流-》拖入平面文件目标

12.1      将“查找”的数据流指向“平面文件目标1”-》双击打开

12.2      输出“查找无匹配输出”,这样查找不到的数据就会走这条数据流

12.3      平面文件连接管理器“新建”,在此新建一个平面文件连接

12.3.1 选择“带分隔符”

12.3.2 常规-》连接管理器名称“不匹配的查找数据文件连接”-》文件名“浏览”-》选择保存路径-》文件名“不匹配的查找数据文件”-》打开-》勾选“在第一个数据行中显示列名”

12.3.3 高级,可以设置各个列的属性

12.3.4 确定

12.4      映射,可对输入列和目标列间进行映射-》选择好映射关系

12.5      确定

 

13      再次执行包-》全绿,则成功-》查看“不匹配的查找数据文件”是否有数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值