创建第一个SSIS包的步骤






4.69/5 (40投票s)
本教程的目的是提供有关如何创建 SSIS 包的详细步骤。
引言
本教程的目的是提供有关如何创建 SSIS 包的详细步骤。下面提供的包从源制表符分隔的文本文件中读取数据,并根据某些条件,将输出保存到两个单独的 Excel 输出文件中。输出 Excel 文件与输入文本文件具有相同的标题。源输入文件的结构和数据如下所示
员工 ID | 员工姓名 | 出生日期 | 入职日期 | 薪资 |
1 | 用户 1 | 1/1/1976 | 1/4/2000 | 20000 |
2 | 用户 2 | 1/2/1976 | 1/5/2000 | 20000 |
3 | 用户 3 | 1/3/1976 | 1/6/2000 | 20000 |
4 | 用户 4 | 1/4/1976 | 1/7/2000 | 30000 |
5 | 用户 5 | 1/5/1976 | 1/8/2000 | 20000 |
6 | 用户 6 | 1/6/1976 | 1/9/2000 | 40000 |
7 | 用户 7 | 1/7/1976 | 1/10/2000 | 20000 |
8 | 用户 8 | 1/8/1976 | 1/11/2000 | 35000 |
9 | 用户 9 | 1/9/1976 | 1/12/2000 | 20000 |
10 | 用户 10 | 1/10/1976 | 1/6/2000 | 20000 |
创建第一个 SSIS 包的步骤
1. 打开 Business Intelligence Development Studio。
2. 点击文件 -> 新建 -> 项目。
3. 在“新建项目”窗口中选择“Integration Services 项目”,并为项目指定适当的名称和位置。然后点击“确定”。
4. 新项目屏幕包含以下内容:
- 左侧边栏的工具箱
- 右上角边栏的解决方案资源管理器
- 右下角边栏的属性窗口
- 选项卡窗口中的控制流、数据流、事件处理程序、包资源管理器
- 底部的连接管理器窗口
5. 右键单击“连接管理器”选项卡,然后点击“新建平面文件连接”菜单项。
6. 将打开“连接管理器编辑器”,其中包含 4 个选项卡:常规、列、高级和预览。
- 在“常规”选项卡中,输入连接管理器名称和描述(可选)。选择源文件、文件格式和分隔符。如果源文件的第一行包含标题,则勾选“第一数据行包含列名”复选框。
- 选择“列”选项卡,检查所有列是否正确映射。
- 选择“高级”选项卡。在此,您可以根据输出流的要求添加、删除或修改列。
- 选择“预览”选项卡,查看输出将是什么样子。
7. 点击“确定”。这将为您的源文件创建一个平面文件连接管理器。
8. 现在,将“数据流任务”从工具箱拖放到“控制流”容器中。
9. 双击“数据流任务”。它将显示所选“数据流任务”的数据流容器选项卡。您可以在工具箱中看到三个项目类别。
- 数据流源 - 源使不同外部数据源的数据可用于数据流中的其他组件。
- 数据流转换 - 转换可以执行更新、汇总、清理、合并和分发数据等任务。
- 数据流目标 - 目标将数据流中的数据写入特定的数据存储,或创建内存数据集。
10. 将“平面文件源”组件从“数据流源”拖到“数据流容器”窗口。
11. 双击“平面文件源”组件,它将显示“平面文件源编辑器”。窗口包含三个选项卡:
- 连接管理器 - 在这里,我们将指定为源文件创建的源连接管理器。如果源文件包含
null
值,请勾选“保留源的 null 值作为数据流中的 null 值”复选框。 - 列 - 此选项卡允许用户选择所需的输出列,用户还可以更改输出列名。
- 错误输出 - 使用此选项卡,用户可以决定组件在发生故障时的行为。有三个选项:
- 忽略失败:选择此项将忽略从源读取行时的任何失败,即使发生任何错误,包也将继续执行。
- 重定向行:选择此项会将失败的行重定向到与错误优先约束连接的另一个组件。
- 组件失败:选择此项将在发生故障时停止包的执行。
12. 从“数据流转换”选项卡将“条件拆分”组件拖放到“数据流任务容器”窗口。将“平面文件源”组件的成功输出(由绿色箭头显示)拖放到“条件拆分”组件。
13. 双击“条件拆分”组件,将打开“条件拆分组件编辑器”窗口。在这里,用户可以根据需要指定条件,然后点击“确定”。例如:
高薪
:[薪资] > 20000(如果薪资大于 20000,则重定向记录)低薪
:对于其余记录
14. 从“数据目标”选项卡将“Excel 目标”组件拖放到“数据流任务容器”中。将“条件拆分”组件的成功箭头连接到“Excel 目标”,将弹出“输入输出选择”窗口。
15. 在“输入输出选择”弹出窗口中,选择合适的条件输出,例如“高薪
”条件输出,然后点击“确定”。
16. 双击“Excel 目标”组件,将打开“Excel 目标编辑器”窗口。点击新的“OLED DB 连接管理器”按钮。
17. 选择目标文件位置以及要将薪资大于 20000 的成功输出数据插入的适当 Excel 工作表名称。
18. 点击“映射”选项卡,并将适当的输入列映射到输出列。
19. 点击“确定”后,目标 Excel 文件组件中会出现错误图标,并显示消息“无法在 Unicode 和非 Unicode 字符串数据类型之间进行转换”。
20. 要解决此问题,我们需要在“条件拆分”和“Excel 目标”组件之间插入一个“数据转换”转换组件。
21. 双击“数据转换”组件,将打开“数据转换转换编辑器”。使用此组件,将输入数据类型转换为所需的输出数据类型。
22. 点击“确定”,然后将“数据转换”组件的成功箭头连接到“Excel 目标”组件。双击“Excel 数据转换”组件,然后点击“映射”选项卡,将“数据转换”组件的输出映射到“Excel 目标”组件的输入,然后点击“确定”。
23. 将“Excel 目标”组件重命名为“薪资 > 20000 的记录
”。
24. 现在添加另一个“数据转换”转换组件,并将“条件拆分”的第二个成功输出连接到它。执行必要的数据类型转换。再添加一个“Excel 目标”组件,并将其重命名为“剩余记录”。创建新的连接管理器,并将其配置为指向第二个输出文件。将新添加的“数据转换”组件的输入连接到它,并按需进行映射。
25. 现在包已准备好执行。转到“解决方案资源管理器”,右键单击包,然后选择“执行包”。如果所有组件都变为“绿色
”,则表示包已成功运行;如果出现任何错误,则执行失败的组件将显示为“红色
”。我们可以在“进度”选项卡中查看包的执行步骤。
26. 运行包后,数据将根据“条件拆分”组件中指定的条件保存到目标输出文件中。
结论
希望这对所有初学者都有所帮助。
历史
- 2011 年 6 月 30 日:初始帖子