创建新的 Integration Services 项目
-
在“开始” 菜单上,依次指向“所有程序” 和 Microsoft SQL Server ,再单击 SQL Server 、Business Intelligence Development Studio 。
-
在“文件” 菜单中,指向“新建” ,再单击“项目” ,以创建一个新的 Integration Services 项目。
-
在“新建项目” 对话框的“模板” 窗格中,选择“Integration Services 项目” 。
-
在“名称” 框中,将默认名称更改为 SSIS Tutorial 。或者,清除“创建解决方案的目录” 复选框。
-
接受默认位置,或单击“浏览” ,以浏览并找到要使用的文件夹。
-
在“项目位置” 对话框中,单击文件夹,再单击“打开” 。
-
单击“确定” 。
默认情况下,将创建一个名为 Package.dtsx 的空包,并将该包添加到项目中。
-
在解决方案资源管理器 工具栏中,右键单击 Package.dtsx ,再单击“重命名” ,将默认包重命名为 Lesson 1.dtsx 。
-
当系统提示重命名包对象时,单击“是” 。
添加一个平面文件连接管理器
-
右键单击“连接管理器” 区域中的任意位置,再单击“新建平面文件连接” 。
-
在“平面文件连接管理器编辑器” 对话框的“连接管理器名称” 字段中,键入 Sample Flat File Source Data 。
-
单击“浏览” 。
-
在“打开” 对 话框中,找到示例数据文件夹,再打开 SampleCurrencyData.txt 文件。默认情况下,教程示例数据安装在 c:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data 文件夹中。
添加和配置 OLE DB 连接管理器
-
右键单击连接管理器 区域中的任意位置,再单击“新建 OLE DB 连接” 。
-
在“配置 OLE DB 连接管理器” 对话框中,单击“新建” 。
-
在“服务器名称” 中,输入 localhost 。
将 localhost 指定为服务器名称时,连接管理器将连接到本地计算机上的 SQL Server 的默认实例。若要使用 SQL Server 的远程实例,请将 localhost 替换为要连接到的服务器的名称。
-
在“登录到服务器” 组中,确认选择了“使用 Windows 身份验证” 。
-
在“连接到数据库” 组的“选择或输入数据库名称” 框中,键入或选择 AdventureWorksDW 。
-
单击“测试连接” ,验证指定的连接设置是否有效。
-
单击“确定” 。
-
单击“确定” 。
-
在“配置 OLE DB 连接管理器” 对话框的“数据连接” 窗格中,确认选择了 localhost.AdventureWorksDW 。
-
单击“确定” 。
添加一个数据流任务
-
单击“控制流” 选项卡。
-
在“工具箱” 中,展开“控制流项” ,并将一个数据流任务 拖到“控制流” 选项卡的设计图面上。
-
在“控制流” 设计图面中,右键单击新添加的数据流任务 ,再单击“重命名” ,将名称更改为 Extract Sample Currency Data 。
好的做法是为添加到设计图面的所有组件提供唯一的名称。考虑到易用性和可维护性,名称应说明每个组件执行的功能。按照这些命名指南,Integration Services 包可以进行自我说明。另一个说明包的方法是使用批注。有关批注的详细信息,请参阅在包中使用批注 。
-
右键单击“数据流”任务,再单击“属性” ,然后在“属性”窗口,确保已将 LocaleID 属性设置为“英语(美国)” 。
添加平面文件源组件
-
打开“数据流” 设计器,方法是双击 Extract Sample Currency Data 数据流任务或单击“数据流” 选项卡。
-
在“工具箱” 中,展开“数据流 源” ,然后将“平面文件源” 拖动到“数据流” 选项卡的设计图面上。
-
在“数据流” 设计图面上,右键单击新添加的“平面文件源” ,单击“重命名” ,然后将该名称改为 Extract Sample Currency Data 。
-
双击此平面文件源,打开“平面文件源编辑器”对话框。
-
在“平面文件连接管理器” 框中,键入或选择 Sample Flat File Source Data 。
-
单击“列” 并验证列名是否正确。
-
单击“确定” 。
-
右键单击平面文件源并单击“属性” 。
-
在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” 。
添加并配置 Lookup Currency Key 转换
-
在“工具箱” 中,展开“数据流转换” ,然后将“查找” 拖动到“数据流” 选项卡的设计图面上。将“查找”直接放置在 Extract Sample Currency Data 源的下面。
-
单击 Extract Sample Currency Data 平面文件源,并将绿色箭头拖动到新添加的“查找” 转换中,以连接这两个组件。
-
在“数据流” 设计图面上,单击“查找” 转换中的“查找” ,然后将该名称更改为 Lookup Currency Key 。
-
双击 Lookup CurrencyKey 转换。
-
在“常规” 页上,进行以下选择:
-
选择“完全缓存” 。
-
在“连接类型” 区域,选择“OLE DB 连接管理器” 。
-
-
在“连接” 页上,进行以下选择:
-
在“OLE DB 连接管理器” 对话框中,确保显示 localhost.AdventureWorksDW 。
-
选择“使用 SQL 查询的结果” ,然后键入或复制以下 SQL 语句:
select * from (select * from [dbo].[DimCurrency]) as refTable where [refTable].[CurrencyAlternateKey] = 'ARS' OR [refTable].[CurrencyAlternateKey] = 'AUD' OR [refTable].[CurrencyAlternateKey] = 'BRL' OR [refTable].[CurrencyAlternateKey] = 'CAD' OR [refTable].[CurrencyAlternateKey] = 'CNY' OR [refTable].[CurrencyAlternateKey] = 'DEM' OR [refTable].[CurrencyAlternateKey] = 'EUR' OR [refTable].[CurrencyAlternateKey] = 'FRF' OR [refTable].[CurrencyAlternateKey] = 'GBP' OR [refTable].[CurrencyAlternateKey] = 'JPY' OR [refTable].[CurrencyAlternateKey] = 'MXN' OR [refTable].[CurrencyAlternateKey] = 'SAR' OR [refTable].[CurrencyAlternateKey] = 'USD' OR [refTable].[CurrencyAlternateKey] = 'VEB'
-
-
在“列” 页上,进行以下选择:
-
在“可用输入列” 面板中,将 CurrencyID 拖放到“可用查找列” 面板的 CurrencyAlternateKey 上。
-
在“可用查找列” 列,选中 CurrencyKey 右侧的复选框。
-
-
单击“确定” 返回“数据流” 设计图面。
-
右键单击 Lookup Currency Key 转换,再单击“属性” 。
-
在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” ,将 DefaultCodePage 属性设置为 1252 。
添加并配置 Lookup DateKey 转换
-
在“工具箱” 中,将“查找” 拖动到“数据流” 设计图面上。将“查找”直接放置在 Lookup CurrencyKey 转换的下面。
-
单击 Lookup Currency Key 转换,并将绿色箭头拖动到新添加的“查找” 转换中,以连接这两个组件。
-
在“选择输入输出” 对话框中,单击“输出” 列表框中的“查找匹配输出” ,然后单击“确定” 。
-
在“数据流” 设计图面上,在新添加的“查找” 转换中单击“查找” ,然后将名称更改为 Lookup DateKey 。
-
双击 Lookup DateKey 转换。
-
在“常规” 页上,选择“部分缓存” 。
-
在“连接” 页上,进行以下选择:
-
在“OLE DB 连接管理器” 对话框中,确保显示 localhost.AdventureWorksDW 。
-
在“使用表或视图” 框中,键入或选择 [dbo].[DimTime] 。
-
-
在“列” 页上,进行以下选择:
-
在“可用输入列” 面板中,将 CurrencyDate 拖放到“可用查找列” 面板的 FullDateAlternateKey 上。
-
在“可用查找列” 列,选中 TimeKey 右侧的复选框。
-
-
在“高级” 页上,查看缓存选项。
-
单击“确定” 返回“数据流” 设计图面。
-
双击 Lookup Date Key 转换,再单击“属性” 。
-
在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” ,将 DefaultCodePage 属性设置为 1252 。
添加和配置示例 OLE DB 目标
-
在“工具箱” 中,展开“数据流目标” ,并将“OLE DB 目标” 拖到“数据流” 选项卡的设计图面上。将 OLE DB 目标直接放置在“查找日期键” 转换的下面。
-
单击“查找日期键” 转换,并将绿色箭头拖到新添加的“OLE DB 目标” 上,以便将两个组件连接在一起。
-
在“选择输入输出” 对话框中,单击“输出” 列表框中的“查找匹配输出” ,然后单击“确定” 。
-
在“数据流” 设计图面上,在新添加的“OLE DB 目标” 组件中单击“OLE DB 目标” ,然后将名称更改为 Sample OLE DB Destination 。
-
双击 Sample OLE DB Destination 。
-
在“OLE DB 目标编辑器” 对话框中,确保已在“OLE DB 连接管理器” 框中选中 localhost.AdventureWorksDW 。
-
在“表或视图的名称” 框中,键入或选择 [dbo].[FactCurrencyRate] 。
-
单击“映射” 。
-
验证 AverageRate 、CurrencyKey 、EndOfDayRate 以及 TimeKey 输入列是否已正确映射到目标列。如果映射了同名列,则说明映射正确。
-
单击“确定” 。
-
右键单击 Sample OLE DB Destination 目标,再单击“属性” 。
-
在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” ,将 DefaultCodePage 属性设置为 1252 。
设置数据流布局的格式
-
如果尚未打开 Lesson 1 包,则请在解决方案资源管理器中双击 Lesson 1.dtsx。
-
单击“数据流” 选项卡。
-
将游标置于 Extract Sample Currency 转换的右上方,单击并将游标拖过所有的数据流组件。
现在便已选定所有数据流组件。首先选定的形状(该形状选定的指示符为白色)将确定在设置布局格式时所使用的大小和位置。
-
在“格式” 菜单中,指向“使大小相同” ,再单击“两者” 。
-
选定数据流对象后,在“格式” 菜单中,指向“对齐” ,再单击“左对齐” 。
向数据流中添加批注
-
右键单击数据流设计图面背景的任意位置,再单击“添加批注” 。
-
在批注框中键入或粘贴以下文本。
数据流从文件中提取数据,在 DimCurrency 表的 CurrencyKey 列中以及 DimTime 表的 TimeKey 列中查阅值,并且将数据写入到 FactCurrencyRate 表。
若要在批注框中使文本换行,请将光标置于要开始新行的位置,然后按 Ctrl 和 Enter 键。
如果未将文本添加到批注框,则当您在批注框外部单击时,该文本便会消失。
运行 Lesson 1 教程包
-
在“调试” 菜单中,单击“启动调试” 。
包将开始运行,结果有 1097 个行被成功添加到 AdventureWorksDW 中的 FactCurrencyRate 事实数据表中。
-
当包运行完毕后,在“调试” 菜单中,单击“停止调试” 。