第 1 课(SSIS 教程):创建项目和基本包

在本课中,您将创建一个简单 ETL 包,该包可以从单个平面文件源提取数据,使用两个查找转换组件转换该数据,然后将该数据写入 AdventureWorksDW 中的 FactCurrencyRate 事实数据表。在本课中,您还将学习如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。

重要说明重要提示

本教程需要 AdventureWorksDW 示例数据库。有关安装和部署 AdventureWorksDW 的详细信息,请参阅安装 SQL Server 示例和示例数据库的注意事项

了解包要求

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

查看源

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

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

1.00010001   ARS   9/3/2001 0:00    0.99960016

1.00010001   ARS   9/4/2001 0:00    1.001001001

1.00020004   ARS   9/5/2001 0:00    0.99990001

1.00020004   ARS   9/6/2001 0:00    1.00040016

1.00050025   ARS   9/7/2001 0:00    0.99990001

1.00050025   ARS   9/8/2001 0:00    1.001001001

1.00050025   ARS   9/9/2001 0:00    1

1.00010001   ARS   9/10/2001 0:00   1.00040016

1.00020004   ARS   9/11/2001 0:00   0.99990001

1.00020004   ARS   9/12/2001 0:00   1.001101211

 

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

查看目标

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

列名称

数据类型

查找表

查找列

AverageRate

float

CurrencyKey

int (FK)

DimCurrency

CurrencyKey (PK)

TimeKey

Int (FK)

DimTime

TimeKey (PK)

EndOfDayRate

float

将源数据映射为与目标兼容

对源数据和目标数据的分析指出需要查找 CurrencyKeyTimeKey 值。将执行这些查找的转换通过使用 DimCurrencyDimTime 维度表中的备用键来获取 CurrencyKeyTimeKey 值。

平面文件列

表名

列名称

数据类型

0

FactCurrencyRate

AverageRate

Float

1

DimCurrency

CurrencyAlternateKey

nchar(3)

2

DimTime

FullDateAlternateKey

Datetime

3

FactCurrencyRate

EndOfDayRate

Float

SSIS 教程:开始课程

任务 1:创建新的 Integration Services 项目

Integration Services 图标(小) 使 Integration Services 保持最新

若要从 Microsoft 获得最新的下载内容、文章、示例和视频,以及从社区获得所选解决方案,请访问 MSDN 上的 Integration Services 页:


若要获得有关这些更新的自动通知,请订阅该页上提供的 RSS 源。