任务 2:添加并配置平面文件连接管理器

在本任务中,将在刚创建的包中添加一个平面文件连接管理器。通过平面文件连接管理器,包可从平面文件中提取数据。使用平面文件连接管理器,可以指定包从平面文件中提取数据时要应用的文件的名称与位置、区域设置与代码页以及文件格式,其中包括列分隔符。另外,还可以为各个列手动指定数据类型;也可以使用**“提供列类型建议”**对话框,自动将提取出来的数据列映射到 Integration Services 数据类型。

必须为要使用的每种文件格式创建一个新的平面文件连接管理器。因为本教程从多个数据格式完全相同的平面文件提取数据,所以只需为您的包添加和配置一个平面文件连接管理器。

在本教程中,将在平面文件连接管理器中配置以下属性:

  • Column names 因为平面文件没有列名,因此平面文件连接管理器将创建默认的列名。这些默认名称不能用于标识每个列代表的内容。若要使这些默认名称更有用,需要将默认名称改为要加载平面文件数据的事实数据表匹配的名称。

  • Data mappings 为平面文件连接管理器指定的数据类型映射,将由所有引用该连接管理器的平面文件数据源组件使用。可以使用平面文件连接管理器,或者使用**“提供列类型建议”对话框来手动映射数据类型。在本教程中,将查看“提供列类型建议”对话框中建议的映射,然后在“平面文件连接管理器编辑器”**对话框中手动设置必要的映射。

平面文件连接管理器提供了有关数据文件的区域设置信息。如果未将您的计算机配置为使用区域设置选项“英语(美国)”,则必须在**“平面文件连接管理器编辑器”**对话框中设置其他属性。

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

  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 文件夹中。

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

  1. 在**“平面文件连接管理器编辑器”对话框中,单击“常规”**。

  2. 将**“区域设置”设置为“英语(美国)”,并将“代码页”**设置为 1252。

重命名平面文件连接管理器中的列

  1. 在**“平面文件连接管理器编辑器”对话框中,单击“高级”**。

  2. 在“属性”窗格中,进行如下更改:

    • Column 0 名称属性改为 AverageRate。

    • Column 1 名称属性改为 CurrencyID。

    • Column 2 名称属性改为 CurrencyDate。

    • Column 3 名称属性改为 EndOfDayRate。

    注意注意

    默认情况下,所有四个列最初都设置为字符串数据类型 [DT_STR],其 OutputColumnWidth 为 50。

重新映射列数据类型

  1. 在**“平面文件连接管理器编辑器”对话框中,单击“建议类型”**。

    Integration Services 将根据前 100 行数据自动建议最合适的数据类型。您还可以将这些建议选项改为增加或减少取样数据,以便指定整数数据或布尔数据的默认数据类型,或添加作为填充量添加到字符串列中的空格。

    现在,请不要对**“提供列类型建议”对话框中的选项进行任何更改,单击“确定”可使 Integration Services 提供列数据类型的建议。这样,您将转到“平面文件连接管理器编辑器”对话框的“高级”窗格,在此可以查看 Integration Services 建议使用的列数据类型。(如果单击“取消”**,则不对列元数据提供任何建议,并使用默认字符串 (DT_STR) 数据类型。)

    在本教程中,Integration Services 为 SampleCurrencyData.txt 文件中的数据建议了下表第二列中显示的数据类型。但是,目标中的列要求的数据类型(将在以后的任务中定义)显示在下表的最后一列中。

    平面文件列

    建议的类型

    目标列

    目标类型

    AverageRate

    Float [DT_R4]

    FactCurrencyRate.AverageRate

    Float

    CurrencyID

    String [DT_STR]

    DimCurrency.CurrencyAlternateKey

    nchar(3)

    CurrencyDate

    Date [DT_DATE]

    DimTime.FullDateAlternateKey

    datetime

    EndOfDayRate

    Float [DT_R4]

    FactCurrencyRate.EndOfDayRate

    Float

    CurrencyIDCurrencyDate 列建议的数据类型与目标表中的字段的数据类型不兼容。由于 DimCurrency.CurrencyAlternateKey 的数据类型为 nchar (3),CurrencyID 必须从字符串类型 [DT_STR] 改为字符串类型 [DT_WSTR]。另外,字段 DimTime.FullDateAlternateKey 被定义为 DataTime 数据类型,因此 CurrencyDate 需要从日期类型 [DT_Date] 改为数据库时间戳类型 [DT_DBTIMESTAMP]。

  2. 在“属性”窗格中,将列 CurrencyID 的数据类型从字符串类型 [DT_STR] 改为 Unicode 字符串类型 [DT_WSTR]。

  3. 在“属性”窗格中,将列 CurrencyDate 的数据类型从日期类型 [DT_DATE] 改为数据库时间戳类型 [DT_DBTIMESTAMP]。

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

课程中的下一个任务

任务 3:添加并配置 OLE DB 连接管理器

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

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

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