加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 02:16:12 所属栏目:大数据 来源:网络整理
导读:BI之SSIS之数据库转换(查找) ? 1??????????新建一个SSIS包,命名为“6-查找与重定向”-》打开 ? 2??????????控制流-》拖入“数据流任务”-》双击打开 ? 3??????????连接管理器-》右键“新建OLEDB连接”-》选择“LocalHost.AdventureWorks2008.sa” ? 4????

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??????再次执行包-》全绿,则成功-》查看“不匹配的查找数据文件”是否有数据

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读