步骤 2:运行向导创建基本包

在此任务中,将运行 SQL Server 导入和导出向导创建基本的数据传输包。

  • 指定数据源。将使用 Excel 工作簿 Customers.xls 作为数据源。在一个向导页上将提供一个查询,该查询从该工作簿的 Customers 电子表格中选择拥有至少一辆汽车的客户。

  • 指定目标。将数据写入 AdventureWorks2008R2 数据库中的表。将动态创建表 ProspectiveCustomers。将使用向导定义目标列的元数据。

在向导完成后,您将重命名该包,并验证包、任务、源和目标的某些受区域设置影响的属性的值。此步骤非常重要,因为 Excel 工作簿的 BirthDate 列中包含受区域设置影响的日期数据。如果计算机上的区域设置不指定“英语(美国)”,则必须更新指定属性的值,否则无法成功运行该包。

运行 SQL Server 导入和导出向导

  1. 如果它尚未打开,请打开在上一个任务中创建的 Integration Services 项目。

  2. 在解决方案资源管理器中,右键单击**“SSIS 包”文件夹,再单击“SSIS 导入和导出向导”。如果“解决方案资源管理器”窗口未打开,请单击“视图”菜单上的“解决方案资源管理器”**。

  3. 在 SQL Server 导入和导出向导的**“欢迎”页上,单击“下一步”**。

  4. 在**“选择数据源”**页上,执行以下步骤:

    1. 在**“数据源”**列表中,选择 Microsoft Excel。

    2. 单击**“浏览”,导航到 C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Basic Package\Sample Data,单击 Excel 工作簿文件 Customers.xls,再单击“打开”**。

    3. 验证**“Excel 文件路径”**框是否包含“C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Basic Package\Sample Data\Customers.xls”。

    4. 验证**“Excel 版本”框是否包含“Microsoft Excel 97-2003”,以及是否选中“首行包含列名称”**复选框。

  5. 在**“选择目标”**页上,执行以下步骤:

    1. 在**“目标”列表中选择 SQL Server Native Client,然后在“服务器名称”**框中键入 localhost。

      将 localhost 指定为服务器名称时,连接管理器将连接到本地计算机上的 SQL Server 的默认实例。若要使用 SQL Server 的远程默认实例或命名实例,请将 localhost 替换为要连接到的服务器或者服务器及命名实例的名称。若要连接到命名实例,请使用以下格式:<服务器名称>\<实例名称>。

    2. 如果指定的数据库引擎实例支持 Windows 身份验证,请使用默认的 Windows 身份验证模式;否则,单击**“使用 SQL Server 身份验证”,然后分别在“用户名”“密码”**框中键入用户名和密码。

    3. 在**“数据库”**列表中,选择 AdventureWorks2008R2。

  6. 在**“指定表复制或查询”页上,单击“编写查询以指定要传输的数据”**。

  7. 在**“提供源查询”页上的“SQL 语句”**框中键入或复制以下 SQL 语句:

    SELECT * FROM [Customers$] WHERE NumberCarsOwned > 0
    
  8. 在**“选择源表和源视图”**页上,执行以下步骤:

    1. 在**“目标”**列表中,单击 [dbo].[Query],然后将表名 Query 更改为 ProspectiveCustomers

    2. 若要编辑列元数据和表选项,请单击**“编辑映射”**。

  9. 在**“列映射”**页上,执行以下步骤:

    1. 验证是否选中**“创建目标表”选项,选中“删除并重新创建目标表”**复选框,再修改目标列的元数据。

      下表列出各列和需要进行的元数据更改:

      列名

      默认类型

      更新的类型

      默认大小

      更新的大小

      FirstName

      nvarchar

      没有变化

      255

      50

      MiddleIntial

      nvarchar

      nchar

      255

      1

      LastName

      nvarchar

      没有变化

      255

      50

      BirthDate

      datetime

      没有变化

      不适用

      不适用

      MaritalStatus

      nvarchar

      nchar

      255

      1

      Gender

      nvarchar

      nchar

      255

      1

      EmailAddress

      nvarchar

      没有变化

      255

      50

      YearlyIncome

      float

      money

      不适用

      不适用

      TotalChildren

      float

      tinyint

      不适用

      不适用

      NumberChildrenAtHome

      float

      tinyint

      不适用

      不适用

      Education

      nvarchar

      没有变化

      255

      50

      Occupation

      nvarchar

      没有变化

      255

      50

      HouseOwnerFlag

      float

      bit

      不适用

      不适用

      NumberCarsOwned

      float

      tinyint

      不适用

      不适用

      AddressLine1

      nvarchar

      没有变化

      255

      60

      AddressLine2

      nvarchar

      没有变化

      255

      60

      City

      nvarchar

      没有变化

      255

      30

      State

      nvarchar

      没有变化

      255

      3

      ZIP

      float

      没有变化

      不适用

      不适用

      Phone

      nvarchar

      没有变化

      255

      50

    2. 单击**“确定”**。

  10. 在**“查看数据类型映射”页上,接受默认设置,并单击“下一步”**。

  11. 在**“完成该向导”页上,检查有关新包的信息,再单击“完成”**。

  12. 在**“正在执行操作”页上,查看该向导执行的操作。完成后,每项操作的“状态”**列应该显示“成功”。

  13. 单击**“关闭”**。

  14. 在解决方案资源管理器中,右键单击“SSIS 包”文件夹中的新包,单击**“重命名”**,再键入 Basic PackageLesson 1。确保该名称包括 .dtsx 扩展名。

  15. 如果询问您是否也重命名对象,请单击**“是”**。

设置包的受区域设置影响的属性

  1. 双击 Basic Package Lesson 1.dtsx,单击**“控制流”**选项卡,再单击设计图面背景上的任意位置。

  2. 在**“视图”菜单上,单击“属性窗口”**。

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

设置执行 SQL 任务的受区域设置影响的属性

  1. 在控制流设计图面上,单击**“删除表 SQL 任务”**。

  2. 在**“视图”菜单上,单击“属性窗口”**。

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

  4. 对于**“准备 SQL 任务”**,重复步骤 1-3。

设置数据流任务的受区域设置影响的属性

  1. 单击**“数据流任务”**。

  2. 在**“视图”菜单上,单击“属性窗口”**。

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

设置数据流组件的受区域设置影响的属性

  1. 双击**“数据流任务”或单击“数据流”**选项卡。

  2. 在“数据流”选项卡上,单击**“源 - 查询”**。

  3. 在**“视图”菜单上,单击“属性窗口”**。

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

  5. 对于**“目标 - ProspectiveCustomers”**,重复步骤 2-4。

课程中的下一个任务

步骤 3:测试第 1 课“基本包”