65.9K
CodeProject 正在变化。 阅读更多。
Home

SQL Server Integration Services (SSIS) – 第一部分:SSIS 基础和包创建

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.64/5 (69投票s)

2011年2月11日

CPOL

7分钟阅读

viewsIcon

691715

downloadIcon

7852

SQL Server Integration Services 系列文章的第一部分 - 讲解 SSIS 基础知识并演示如何创建包。

这是 SSIS 系列文章的第一部分。

引言

在本文中,我们将介绍 SQL Server Integration Services (SSIS) 是什么;SSIS 的基本用途、如何创建 SSIS 包以及如何对其进行调试。

SSIS 和 DTS 概述

SSIS 是一个 ETL 工具(提取、转换、加载),对于数据仓库应用来说非常有必要。SSIS 还用于执行各种操作,例如根据需要加载数据、对数据执行不同的转换(例如进行计算(求和、平均值等))以及定义流程应如何进行以及日常活动中的一些任务。

在 SSIS 之前,SQL Server 2000 中的数据转换服务 (DTS) 执行的任务功能较少。随着 SQL Server 2005 中引入 SSIS,可以使用许多新功能。要开发 SSIS 包,需要安装 SQL Server Business Intelligence Development Studio,它将作为安装 SQL Server Management Studio (SSMS) 时的客户端工具提供。

SSMS 和 BIDS

SSMS 提供了不同的选项来开发 SSIS 包,从导入和导出向导开始,您可以使用它将数据从一个服务器复制到另一个服务器,或从一个数据源复制到另一个数据源。通过这些向导,我们可以创建一个数据流应如何进行的数据结构,并创建一个包并根据我们的需求进行部署,以便在任何环境中执行。

Business Intelligence Development Studio (BIDS) 是一个可用于开发 SSIS 包的工具。BIDS 作为 SQL Server 的接口提供,让开发人员可以逐步处理流程的工作流。一旦 BIDS 与 SQL Server 安装一起安装,我们就可以按以下步骤找到它并开始我们的工作。

步骤

现在,让我们以使用 SSIS 将数据从文本文件导入 SQL Server 数据库为例。我们将一步一步地介绍如何使用 SSIS 完成此任务。

步骤 1 – 转到“开始” -> “程序” -> “Microsoft SQL Server 2005” -> “SQL Server Business Intelligence Development Studio”,如下图所示:

Fig_1.jpg

这将打开 BIDS,如下图所示。它将类似于我们通常根据需求启动项目的 Visual Studio IDE。

Fig_2.jpg

步骤 2 – 打开 BID studio 后,我们现在需要根据我们的需求创建一个解决方案。由于我们将从集成服务开始,因此请转到“文件” -> “新建项目”或按 Ctrl + Shift + N。这将打开一个弹出窗口,我们需要从中选择“Integration Services Project”并按如下所示的屏幕为项目命名:

Fig3.jpg

创建此新项目后,我们可以看到,在创建 Integration Services 项目时,默认会添加一个新的 SSIS 包 (Package.dtsx);您可以右键单击它并重命名。现在设计器将显示空的流程图选项卡,如下所示:

Fig4.jpg

步骤 3 – 由于我们的任务是将文本文件加载到数据库中,因此我们需要创建一个新连接,或者简单地说,我们需要创建一个数据源。右键单击连接管理器窗格,然后选择“新建平面文件连接”,如下图所示:

Fig5.jpg

步骤 4 – 这将打开一个如下所示的窗口。我们需要填写文本文件的路径和文本文件的格式等详细信息。如果文本文件的第一行包含列名,那么我们需要勾选“第一数据行包含列名”复选框,如下图所示:

Fig6.jpg

步骤 5 – 您可以通过转到下面的图像中的“列”选项卡或“预览”选项卡来查看我们试图从文本文件中导入的列。在预览选项卡中,我们可以看到符合我们要求的数据,例如源中有大量数据,如 100 万条记录。在预览选项卡中,一次只显示 100 条记录。要查看第 500 到 600 条记录,您需要在预览选项卡中指定“要跳过的数据行”= 500。这样我们就可以看到第 501 到 600 条记录。单击“确定”按钮完成此任务。

Fig7.jpg

步骤 6 – 现在我们已经定义了源部分,我们需要进行类似的步骤来定义目标部分。现在右键单击连接管理器窗格,然后选择“新建 OLEDB 连接”。这将弹出一个窗口以获取连接详细信息,如下所示。填写所有连接详细信息并测试连接。

Fig8.jpg

单击“确定”后,我们将在连接管理器中看到连接详细信息,如下面的屏幕所示。

Fig9.jpg

步骤 7 – 现在我们需要创建数据流任务,以便实现将数据从文本文件导入数据库的要求。SSIS 使用工作流任务来按步骤处理请求。我们的大部分任务将在此处完成,并编写代码来实现。因此,在左侧窗格的工具箱中,单击“数据流任务”项,并将其拖到屏幕上。您将看到一个图标,如下面的屏幕所示。双击该图标以打开它。

Fig10.jpg

步骤 8 – 双击数据流任务,它将重定向到数据流选项卡,在那里我们需要根据我们的要求放置数据流的逻辑。由于我们的要求是导入文本文件,因此从工具箱中将“平面文件源”拖放到数据流选项卡屏幕上。再次双击平面文件源任务,它将弹出一个窗口,其中包含我们在初始阶段设置的连接,如下面的屏幕所示:

Fig11.jpg

如果您注意到,“将源中的 Null 值保留为 Null 值”选项。此选项默认禁用,这意味着源中的 Null 值将被视为空字符串。您可以单击“预览”按钮以重新检查您的结构。

步骤 9 – 现在,我们需要设置目标流,即到目前为止我们已经读取了数据,现在我们需要根据我们的要求将其插入数据库。转到工具箱,单击数据流目标部分,然后将“OLE DB 目标”拖放到屏幕上。现在,我们需要映射源和目标,以便告诉 SSIS 如何工作。因此,单击平面文件源,然后将绿色箭头拖到 OLE DB 目标,如下图所示:

Fig12.jpg

步骤 10 – 现在单击目标任务进行配置。双击目标任务进行配置。请注意,这也允许您保留 Null 值。在我们的示例中,我们将创建一个新表,但如果您已经创建了一个表,您可以从可用的表下拉菜单中选择它。我在进行上述步骤之前,已经在我的数据库中创建了一个具有以下结构的表。因此,我可以在列表中看到表名,如下图所示:

create table tNewApplication
( 
 [intApplication.] int identity(1,1), 
 AppID uniqueidentifier default newid(), 
 AppName varchar(100), 
 AppType varchar(100), 
 AppOwner varchar(100), 
 AppCompany varchar(100), 
 AppState varchar(100), 
 AppCountry varchar(100) ) 

GO

Fig13.jpg

步骤 11 – 现在我们需要进行映射,即我们将从源(平面文件架构)到目标(数据库架构)映射列,如下图所示:

Fig14.jpg

步骤 12 – 最后,在配置完所有内容后,单击“确定”按钮。您应该会看到一个与下面的屏幕相似的屏幕。

Fig15.jpg

步骤 13 – 按 F5 开始执行 SSIS 包。当数据被读取和写入时,我们应该看到每个步骤都变为绿色。您可以看到已从文本文件导入到数据库的数据。

结论

我们将在接下来的文章中介绍 SSIS 的不同部分。

© . All rights reserved.