SSIS 教程

创建新的 Integration Services 项目

  1. “开始” 菜单上,依次指向“所有程序”Microsoft SQL Server ,再单击 SQL ServerBusiness Intelligence Development Studio

  2. “文件” 菜单中,指向“新建” ,再单击“项目” ,以创建一个新的 Integration Services 项目。

  3. “新建项目” 对话框的“模板” 窗格中,选择“Integration Services 项目”

  4. “名称” 框中,将默认名称更改为 SSIS Tutorial 。或者,清除“创建解决方案的目录” 复选框。

  5. 接受默认位置,或单击“浏览” ,以浏览并找到要使用的文件夹。

  6. “项目位置” 对话框中,单击文件夹,再单击“打开”

  7. 单击“确定”

    默认情况下,将创建一个名为 Package.dtsx 的空包,并将该包添加到项目中。

  8. 解决方案资源管理器 工具栏中,右键单击 Package.dtsx ,再单击“重命名” ,将默认包重命名为 Lesson 1.dtsx

  9. 当系统提示重命名包对象时,单击“是”

添加一个平面文件连接管理器

  1. 右键单击“连接管理器” 区域中的任意位置,再单击“新建平面文件连接”

  2. “平面文件连接管理器编辑器” 对话框的“连接管理器名称” 字段中,键入 Sample Flat File Source Data

  3. 单击“浏览”

  4. “打开” 对 话框中,找到示例数据文件夹,再打开 SampleCurrencyData.txt 文件。默认情况下,教程示例数据安装在 c:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data 文件夹中。

添加和配置 OLE DB 连接管理器

  1. 右键单击连接管理器 区域中的任意位置,再单击“新建 OLE DB 连接”

  2. “配置 OLE DB 连接管理器” 对话框中,单击“新建”

  3. “服务器名称” 中,输入 localhost

    将 localhost 指定为服务器名称时,连接管理器将连接到本地计算机上的 SQL Server 的默认实例。若要使用 SQL Server 的远程实例,请将 localhost 替换为要连接到的服务器的名称。

  4. “登录到服务器” 组中,确认选择了“使用 Windows 身份验证”

  5. “连接到数据库” 组的“选择或输入数据库名称” 框中,键入或选择 AdventureWorksDW

  6. 单击“测试连接” ,验证指定的连接设置是否有效。

  7. 单击“确定”

  8. 单击“确定”

  9. “配置 OLE DB 连接管理器” 对话框的“数据连接” 窗格中,确认选择了 localhost.AdventureWorksDW

  10. 单击“确定”

添加一个数据流任务

  1. 单击“控制流” 选项卡。

  2. “工具箱” 中,展开“控制流项” ,并将一个数据流任务 拖到“控制流” 选项卡的设计图面上。

  3. “控制流” 设计图面中,右键单击新添加的数据流任务 ,再单击“重命名” ,将名称更改为 Extract Sample Currency Data

    好的做法是为添加到设计图面的所有组件提供唯一的名称。考虑到易用性和可维护性,名称应说明每个组件执行的功能。按照这些命名指南,Integration Services 包可以进行自我说明。另一个说明包的方法是使用批注。有关批注的详细信息,请参阅在包中使用批注

  4. 右键单击“数据流”任务,再单击“属性” ,然后在“属性”窗口,确保已将 LocaleID 属性设置为“英语(美国)”

添加平面文件源组件

  1. 打开“数据流” 设计器,方法是双击 Extract Sample Currency Data 数据流任务或单击“数据流” 选项卡。

  2. “工具箱” 中,展开“数据流 源” ,然后将“平面文件源” 拖动到“数据流” 选项卡的设计图面上。

  3. “数据流” 设计图面上,右键单击新添加的“平面文件源” ,单击“重命名” ,然后将该名称改为 Extract Sample Currency Data

  4. 双击此平面文件源,打开“平面文件源编辑器”对话框。

  5. “平面文件连接管理器” 框中,键入或选择 Sample Flat File Source Data

  6. 单击“列” 并验证列名是否正确。

  7. 单击“确定”

  8. 右键单击平面文件源并单击“属性”

  9. 在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)”

添加并配置 Lookup Currency Key 转换

  1. “工具箱” 中,展开“数据流转换” ,然后将“查找” 拖动到“数据流” 选项卡的设计图面上。将“查找”直接放置在 Extract Sample Currency Data 源的下面。

  2. 单击 Extract Sample Currency Data 平面文件源,并将绿色箭头拖动到新添加的“查找” 转换中,以连接这两个组件。

  3. “数据流” 设计图面上,单击“查找” 转换中的“查找” ,然后将该名称更改为 Lookup Currency Key

  4. 双击 Lookup CurrencyKey 转换。

  5. “常规” 页上,进行以下选择:

    1. 选择“完全缓存”

    2. “连接类型” 区域,选择“OLE DB 连接管理器”

  6. “连接” 页上,进行以下选择:

    1. “OLE DB 连接管理器” 对话框中,确保显示 localhost.AdventureWorksDW

    2. 选择“使用 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'
      
  7. “列” 页上,进行以下选择:

    1. “可用输入列” 面板中,将 CurrencyID 拖放到“可用查找列” 面板的 CurrencyAlternateKey 上。

    2. “可用查找列” 列,选中 CurrencyKey 右侧的复选框。

  8. 单击“确定” 返回“数据流” 设计图面。

  9. 右键单击 Lookup Currency Key 转换,再单击“属性”

  10. 在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” ,将 DefaultCodePage 属性设置为 1252

添加并配置 Lookup DateKey 转换

  1. “工具箱” 中,将“查找” 拖动到“数据流” 设计图面上。将“查找”直接放置在 Lookup CurrencyKey 转换的下面。

  2. 单击 Lookup Currency Key 转换,并将绿色箭头拖动到新添加的“查找” 转换中,以连接这两个组件。

  3. “选择输入输出” 对话框中,单击“输出” 列表框中的“查找匹配输出” ,然后单击“确定”

  4. “数据流” 设计图面上,在新添加的“查找” 转换中单击“查找” ,然后将名称更改为 Lookup DateKey

  5. 双击 Lookup DateKey 转换。

  6. “常规” 页上,选择“部分缓存”

  7. “连接” 页上,进行以下选择:

    1. “OLE DB 连接管理器” 对话框中,确保显示 localhost.AdventureWorksDW

    2. “使用表或视图” 框中,键入或选择 [dbo].[DimTime]

  8. “列” 页上,进行以下选择:

    1. “可用输入列” 面板中,将 CurrencyDate 拖放到“可用查找列” 面板的 FullDateAlternateKey 上。

    2. “可用查找列” 列,选中 TimeKey 右侧的复选框。

  9. “高级” 页上,查看缓存选项。

  10. 单击“确定” 返回“数据流” 设计图面。

  11. 双击 Lookup Date Key 转换,再单击“属性”

  12. 在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” ,将 DefaultCodePage 属性设置为 1252

添加和配置示例 OLE DB 目标

  1. “工具箱” 中,展开“数据流目标” ,并将“OLE DB 目标” 拖到“数据流” 选项卡的设计图面上。将 OLE DB 目标直接放置在“查找日期键” 转换的下面。

  2. 单击“查找日期键” 转换,并将绿色箭头拖到新添加的“OLE DB 目标” 上,以便将两个组件连接在一起。

  3. “选择输入输出” 对话框中,单击“输出” 列表框中的“查找匹配输出” ,然后单击“确定”

  4. “数据流” 设计图面上,在新添加的“OLE DB 目标” 组件中单击“OLE DB 目标” ,然后将名称更改为 Sample OLE DB Destination

  5. 双击 Sample OLE DB Destination

  6. “OLE DB 目标编辑器” 对话框中,确保已在“OLE DB 连接管理器” 框中选中 localhost.AdventureWorksDW

  7. “表或视图的名称” 框中,键入或选择 [dbo].[FactCurrencyRate]

  8. 单击“映射”

  9. 验证 AverageRateCurrencyKeyEndOfDayRate 以及 TimeKey 输入列是否已正确映射到目标列。如果映射了同名列,则说明映射正确。

  10. 单击“确定”

  11. 右键单击 Sample OLE DB Destination 目标,再单击“属性”

  12. 在“属性”窗口中,验证是否已将 LocaleID 属性设置为“英语(美国)” ,将 DefaultCodePage 属性设置为 1252

设置数据流布局的格式

  1. 如果尚未打开 Lesson 1 包,则请在解决方案资源管理器中双击 Lesson 1.dtsx。

  2. 单击“数据流” 选项卡。

  3. 将游标置于 Extract Sample Currency 转换的右上方,单击并将游标拖过所有的数据流组件。

    现在便已选定所有数据流组件。首先选定的形状(该形状选定的指示符为白色)将确定在设置布局格式时所使用的大小和位置。

  4. “格式” 菜单中,指向“使大小相同” ,再单击“两者”

  5. 选定数据流对象后,在“格式” 菜单中,指向“对齐” ,再单击“左对齐”

向数据流中添加批注

  1. 右键单击数据流设计图面背景的任意位置,再单击“添加批注”

  2. 在批注框中键入或粘贴以下文本。

    数据流从文件中提取数据,在 DimCurrency 表的 CurrencyKey 列中以及 DimTime 表的 TimeKey 列中查阅值,并且将数据写入到 FactCurrencyRate 表。

    若要在批注框中使文本换行,请将光标置于要开始新行的位置,然后按 Ctrl 和 Enter 键。

    如果未将文本添加到批注框,则当您在批注框外部单击时,该文本便会消失。

运行 Lesson 1 教程包

  1. “调试” 菜单中,单击“启动调试”

    包将开始运行,结果有 1097 个行被成功添加到 AdventureWorksDW 中的 FactCurrencyRate 事实数据表中。

  2. 当包运行完毕后,在“调试” 菜单中,单击“停止调试”







猜你喜欢

转载自onlyor.iteye.com/blog/1564805