创建SSIS包的步骤

SQL Server Integration Services (SSIS) 是一个强大的数据集成平台,用于解决数据迁移、数据转换、数据清洗、数据聚合以及从各种数据源提取数据的问题。本文将指导如何创建一个SSIS包,该包从制表符分隔的文本文件中读取数据,并根据特定条件将输出保存到两个不同的Excel输出文件中。输出的Excel文件将包含与输入文本文件相同的标题。以下是源输入文件的结构和数据:

EmpID EmpName DOB DOJ Salary

1 User1 1/1/1976 1/4/2000 20000

2 User2 1/2/1976 1/5/2000 20000

3 User3 1/3/1976 1/6/2000 20000

4 User4 1/4/1976 1/7/2000 30000

5 User5 1/5/1976 1/8/2000 20000

6 User6 1/6/1976 1/9/2000 40000

7 User7 1/7/1976 1/10/2000 20000

8 User8 1/8/1976 1/11/2000 35000

9 User9 1/9/1976 1/12/2000 20000

10 User10 1/10/1976 1/6/2000 20000

创建第一个SSIS包的步骤

1. 打开商业智能开发工作室 (Business Intelligence Development Studio)。

2. 点击文件 -> 新建 -> 项目。

3. 在新项目窗口中选择集成服务项目,并为项目指定适当的名称和位置,然后点击确定。

4. 新建项目屏幕包含以下内容:

工具箱在左侧栏,解决方案资源管理器在右侧栏上方,属性窗口在右侧栏下方,控制流、数据流、事件处理程序、包资源管理器在标签窗口中,连接管理器窗口在底部。

5. 右键单击连接管理器标签页,点击新建平面文件连接菜单项。

6. 连接管理器编辑器打开,包含4个标签页:常规、列、高级和预览。

在常规标签页中,输入连接管理器名称和描述(可选)。选择源文件、文件格式和分隔符。如果源文件的第一行包含标题,则选择复选框“数据流中的第一行数据包含列名”。

选择列标签页,检查所有列是否正确映射。

选择高级标签页。在这里,可以根据输出流要求添加、删除或修改列。

选择预览标签页以检查输出将如何显示:

7. 点击确定。它将为源文件创建一个平面文件连接管理器。

8. 现在从工具箱拖动数据流任务到控制流容器中。

9. 双击数据流任务。它将显示所选数据流任务的数据流容器标签页。可以在工具箱中看到三个项目类别。

数据流源 - 源使不同外部数据源的数据对数据流中的其他组件可用。

数据流转换 - 转换可以执行更新、汇总、清理、合并和分发数据等任务。

数据流目的地 - 目的地将数据流中的数据写入特定数据存储,或创建内存中的数据集。

10. 从数据流源中拖动一个平面文件源组件到数据流容器窗口。

11. 双击平面文件源组件,它将显示平面文件源编辑器。窗口包含三个标签页:

连接管理器 - 在这里将指定源文件的连接管理器。如果源文件包含空值,选择“在数据流中保留源的空值作为空值”复选框。

列 - 此标签页允许用户选择所需的输出列,用户还可以更改输出列名称。

错误输出 - 使用此标签页,用户可以决定组件在失败时的行为。有三个选项:

忽略失败:选择此选项将忽略从源读取行时的任何失败,即使发生任何错误,包也会继续执行。

重定向行:选择此选项将失败的行重定向到其他组件,该组件通过错误优先级约束连接。

失败组件:选择此选项将在发生失败时停止包的执行。

12. 从数据流转换标签页拖放一个条件分割组件到数据流任务容器窗口。将平面文件源组件的成功输出(由绿色箭头显示)拖放到条件分割组件。

13. 双击条件分割组件,它将打开条件分割组件编辑器窗口。在这里,用户可以根据要求指定条件,然后点击确定。例如:

HigherSalary: [Salary] > 20000(如果工资超过20000,则重定向记录)

LowerSalary: 对于其余记录

14. 从数据目的地标签页拖放一个Excel目标组件到数据流任务容器。将条件分割组件的成功箭头连接到Excel目标,将弹出输入输出选择窗口。

15. 在输入输出选择弹出窗口中,选择适当的条件输出,例如“HigherSalary”条件输出,然后点击确定。

16. 双击Excel目标组件,它将打开Excel目标编辑器窗口。点击新的OLE DB连接管理器按钮。

17. 选择目标文件位置和想要插入工资值高于20000的成功输出数据的适当Excel工作表名称。

18. 点击映射标签页,将适当的输入列映射到输出列。

19. 点击确定后,目标Excel文件组件显示错误图标,并显示消息“无法在Unicode和非Unicode字符串数据类型之间进行转换”。

20. 为了解决这个问题,需要在条件分割和Excel目标组件之间插入一个数据转换转换组件。

21. 双击数据转换组件,它将打开数据转换转换编辑器。使用此组件,将输入数据类型转换为所需的输出数据类型。

22. 点击确定,并将数据转换组件的成功箭头连接到Excel目标组件。双击Excel数据转换组件,点击映射标签页,将数据转换组件的输出映射到Excel目标组件的输入,然后点击确定。

23. 将Excel目标组件重命名为“工资大于20000的记录”。

24. 现在添加另一个数据转换转换组件,并将条件分割的第二个成功输出连接到它。执行必要的数据类型转换。添加另一个Excel目标组件,将其重命名为“剩余记录”。创建一个新的连接管理器并配置它指向第二个输出文件。将新添加的数据转换组件的输入连接到它,并按要求进行映射。

25. 现在包已准备好执行。转到解决方案资源管理器,右键单击包并选择“执行包”。如果所有组件都变成“绿色”,则意味着包已成功运行;如果有错误,未能执行的组件将显示为“红色”。可以在“进度”标签页中看到包执行步骤。

26. 一旦运行包,数据将根据条件分割组件中指定的条件保存到目标输出文件中。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485