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??????再次执行包-》全绿,则成功-》查看“不匹配的查找数据文件”是否有数据 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |