BI之SSIS之简单ETL包开发
1 新建一个SSIS项目“简单ETL包开发” -> 重命名Package1为“课程1-创建项目和基本包”
2 右键“连接管理器工作区” -> 新建平面文件连接 -> 连接器名称“平面文件连接” -> 文件名“C:\Program Files\Microsoft SQL Server\100\Samples\IntegrationServices\Tutorial\Creating a Simple ETL Package\Sample Data\SampleCurrencyData.txt” -> 高级
2.1 Column 0 名称属性改为AverageRate -> Column 1 名称属性改为 CurrencyID -> Column 2 名称属性改为 CurrencyDate-> Column 3 名称属性改为 EndOfDayRate
2.2 分别点击各列,然后点击建议类型来获取各列建议的类型
2.3 CurrencyID 的数据类型从字符串类型[DT_STR] 改为 Unicode 字符串类型 [DT_WSTR] -> CurrencyDate 的数据类型从日期类型 [DT_DATE] 改为数据库时间戳类型[DT_DBTIMESTAMP] -> 确定
3 再添加一个“OLEDB连接” -> 新建 -> 服务器名“.” -> windows身份验证 -> 数据库“AdventureWorksDW2008” -> 确定
3.1 单击“控制流” -> 从“控制流项”拖入“数据流任务” -> 命名为“提取货币数据” -> 双击进入数据流任务
3.2 从“数据流源”拖入“平面文件源” -> 命名为“货币数据平面文件源” -> 双击打开 -> 平面文件连接器“平面文件连接” -> 单击“列”查看列名是否正确 -> 确定
4 从“数据流转换”中拖入“查找” -> 命名为“查找货币键” -> 将“货币数据平面文件源”的数据流指向“查找货币键” -> 双击该控件
4.1.1 常规 -> 缓存模式“完全缓存” -> 连接类型“OLEDB连接管理器”
4.1.2 连接 -> OLEDB连接管理器“LocalHost.AdventureWorksDW2008” -> 选择“使用SQL查询的结果” -> 填入“select *from [dbo].[DimCurrency]”
4.1.3 列 -> 将“可用输入列”的“CurrencyID”连接到“可用查找列”的“CurrencyAlternateKey” -> 报“数据类型不匹配错误”
4.1.3.1 取消 -> 打开“平面文件连接” -> 高级 -> 修改CurrencyID的DataType为“Unicode 字符串 [DT_WSTR]” -> 确定
4.1.3.2 双击“货币数据平面文件源”进行更新
4.1.4 重复1.6.3 -> 勾选“CurrencyKey” -> 确定
5 拖入“查找” -> 命名为“查找日期键” -> 将“查找货币键”的数据流指向“查找日期键” -> 输出“查找匹配输出” -> 确定 -> 双击
5.1.1 常规 -> 缓存模式“完全缓存” -> 连接类型“OLEDB连接管理器”
5.1.2 连接 -> OLEDB连接管理器“LocalHost.AdventureWorksDW2008” -> 选择“DimDate”表
5.1.3 列 -> 将“可用输入列”的“CurrencyDate”连接到“可用查找列”的“FullDataAlternateKey” -> 报“数据类型不匹配错误”
5.1.3.1 同1.6.3.1操作,修改“CurrencyDate”的DataType为“数据库日期 [DT_DBDATE]” -> 确定
5.1.3.2 双击“货币数据平面文件源”进行更新
5.1.4 重复1.7.3 -> 勾选“DateKey” -> 确定
6 从“数据流目标”拖入“OLEDB目标” -> 命名为“货币数据导入目标” -> “查找日期键”数据流指向“货币数据导入目标” -> 输出“查找匹配输出” -> 双击
6.1.1 连接管理器 -> OLEDB连接管理器“LocalHost.AdventureWorksDW2008” -> 表或视图的名称“FactCurrencyRate”
6.1.2 映射 -> 将“可用输入列”和“可用目标列”进行相应的连接 -> 确定
7 全选数据流控件 -> 格式“自动调整大小” -> 格式“自动布局” -> 关系图
8 执行包 -> 全绿则成功 -> 查看“FactCurrencyRate”表的数据(如果提示约束冲突,可以先删除FactCurrencyRate表的数据)