第 1 课:使用 SQL Server Integration Services (SSIS) 创建项目和基本包

适用于:SQL Server Azure 数据工厂中的 SSIS Integration Runtime

在本课中,你将创建一个简单的提取、转换和加载 (ETL) 包。 该包从单个平面文件源中提取数据,使用两个查找转换对数据进行转换,并将转换后的数据写入示例数据库中FactCurrencyRate的事实表AdventureWorksDW2025的副本。 在本课中,你将创建新的包、添加和配置数据源和目标连接,以及处理新的控制流和数据流组件。

在创建包之前,需要了解源数据和目标数据中使用的格式。 然后,可以定义将源数据映射到目标所需的转换。

先决条件

本教程依赖于 Microsoft SQL Server Data Tools、一组示例包和一个示例数据库。

注释

本文中的代码示例使用 AdventureWorks2025AdventureWorksDW2025 示例数据库,可以从 Microsoft SQL Server 示例和社区项目 主页下载该数据库。

若要安装 SQL Server Data Tools,请参阅安装适用于 Visual Studio 的 SQL Server Data Tools (SSDT)。

要下载本教程的所有课程包,请执行以下操作:

  1. 导航到 Integration Services 教程文件
  2. 选择“下载”按钮。
  3. Creating a Simple ETL Package.zip选择该文件,然后选择“下一步”。
  4. 下载文件后,将其内容解压缩到本地目录。

查看源数据

对于本教程,源数据是一组存储在名为SampleCurrencyData.txt的平面文件中的历史货币数据。 源数据具有以下四列:货币的平均汇率、货币键、日期键和收盘汇率。

下面是文件中源数据 SampleCurrencyData.txt 的示例:

1.00070049USD9/3/05 0:001.001201442
1.00020004USD9/4/05 0:001
1.00020004USD9/5/05 0:001.001201442
1.00020004USD9/6/05 0:001
1.00020004USD9/7/05 0:001.00070049
1.00070049USD9/8/05 0:000.99980004
1.00070049USD9/9/05 0:001.001502253
1.00070049USD9/10/05 0:000.99990001
1.00020004USD9/11/05 0:001.001101211
1.00020004USD9/12/05 0:000.99970009

在使用平面文件源数据时,需要了解平面文件连接管理器如何解释平面文件数据,这一点很重要。 如果平面文件源为 Unicode,平面文件连接管理器会将所有列 [DT_WSTR] 定义为默认列宽 50。 如果平面文件源是 ANSI 编码的,则列定义为 [DT_STR] 默认列宽 50。 可能必须更改这些默认设置,才能使字符串列类型更适用于你的数据。 需要查看目标的数据类型,然后在平面文件连接管理器中选择该类型。

查看目标数据

源数据的目标是 FactCurrencyRate 事实数据表的副本 AdventureWorksDW2025FactCurrencyRate事实数据表有四列,并且与两个维度表有关系,如下表所示。

列名称 数据类型 查找表 查找列
AverageRate 漂浮
CurrencyKey int (FK) 1 DimCurrency CurrencyKey (PK) 2
DateKey int (FK) 1 DimDate DateKey (PK) 2
EndOfDayRate 漂浮

1 FK:外键

2 PK:主键

源数据映射到目标

我们对源和目标数据格式的分析表明查找对于 CurrencyKeyDateKey 值是必需的。 执行这些查找的转换通过使用来自DimCurrencyDimDate维度表的备用键获取这些值。

平面文件列 表名称 列名称 数据类型
0 FactCurrencyRate AverageRate 漂浮
1 DimCurrency CurrencyAlternateKey nchar(3)
2 DimDate FullDateAlternateKey date
3 FactCurrencyRate EndOfDayRate 漂浮

课程任务

后续步骤