删除重复项组件示例

删除重复项示例说明如何实现包含异步输出的数据流转换组件。 包含异步输出的组件接收与对象的输入和输出对应的输入和输出 PipelineBuffer。 输入缓冲区包含上游组件提供的行。 输出缓冲区是空的并由组件填充,通常在调用 ProcessInput 方法的过程中使用输入缓冲区中的行填充。 接收完所有行后对其进行排序,然后将非重复行发送至一个输出,而重复行发送至其他输出。 IA64 不支持此示例。

ms160916.note(zh-cn,SQL.90).gif重要提示:
Integration Services 数据流编程代码示例旨在阐释创建自定义数据流组件所需要实现的核心功能。 该示例不包括对“高级编辑器”中的自定义功能的完整支持。 例如,您不能使用“高级编辑器”添加或删除输入和输出或者配置列。 提供的示例仅供教学使用。 这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。

有关如何创建包含异步输出的组件的详细信息,请参阅 SQL Server 2005 联机丛书中的主题“开发包含异步输出的自定义转换组件”。

运行示例

如果您已经知道如何定位、生成和安装代码示例,则可以直接跳到测试示例一节,了解如何配置和运行代码示例。

必备组件

此示例要求安装下列组件:

  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

位置

如果代码示例安装到默认安装位置,则 C# 版本的代码示例将位于以下文件夹中:

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Data Flow\RemoveDuplicates Component Sample

代码示例的 C# 解决方案位于 CS 目录,而 Visual Basic 解决方案位于 VB 目录。

有关安装示例所需的两步过程的信息,请参阅安装示例。 若要获取最新版本的示例(包括在 SQL Server 2005 首次发布之后发布的新示例),请参阅 SQL Server 2005 示例和示例数据库(2006 年 4 月)

生成示例

如果尚未在 Samples 文件夹中生成强名称密钥文件,则请使用以下过程生成此密钥文件。 将示例项目配置为在生成时使用此密钥文件对程序集进行签名。 可以在**“项目属性”对话框的“签名”**选项卡中查看签名属性。

生成强名称密钥文件

  1. 若要打开 Microsoft Visual Studio 2005 命令提示,请单击“开始”,依次指向“所有程序”、Microsoft Visual Studio 2005 和“Visual Studio 工具”,然后单击“Visual Studio 2005 命令提示”。

    - 或 -

    若要打开 Microsoft .NET Framework 命令提示,请单击“开始”,依次指向“所有程序”和 Microsoft .NET Framework SDK 2.0,然后单击“SDK 命令提示”。

  2. 在命令提示符下,使用更改目录 (CD) 命令将命令提示窗口的当前文件夹更改为 Samples 文件夹。 在此文件夹中创建的密钥文件将由所有 SQL Server 2005 代码示例使用。

    ms160916.note(zh-cn,SQL.90).gif注意:
    若要确定示例所在的文件夹,请单击“开始”,依次指向“所有程序”、Microsoft SQL Server 2005 、“文档和教程”,然后单击“示例目录”。 如果使用了默认安装位置,则示例将位于 <system_drive>:\Program Files\Microsoft SQL Server\90\Samples 中。
  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k SampleKey.snk
    
    ms160916.note(zh-cn,SQL.90).gif重要提示:
    有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“安全简讯:.NET Framework 中的强名称和安全性”。

在 Microsoft Visual Studio 2005 中生成示例

  1. 从**“文件”|“打开”菜单中,单击“项目”**,然后用首选编程语言打开 RemoveDuplicates.sln。

  2. 在**“生成”菜单上,单击“生成 RemoveDuplicates”**以生成项目。

安装示例

同时提供此示例的 Visual Basic 和 C# 版本。 为了区分每个示例版本的程序集,在输出程序集的名称中追加有 CS 或 VB。 成功生成组件后,在 Business Intelligence Development Studio 中按照以下步骤将其添加至数据流任务中。

将组件复制到 PipelineComponents 文件夹

  1. 打开 Windows 资源管理器或要在文件系统中使用的首选应用程序。

  2. 将程序集(RemoveDuplicatesCS.dll 或 RemoveDuplicatesVB.dll)复制到 PipelineComponents 文件夹,该文件夹位于 %system%\Program Files\Microsoft SQL Server\90\DTS

通过拖动程序集的方式将组件安装到全局程序集缓存 (GAC) 中

  1. 打开 Windows 资源管理器或要在文件系统中使用的首选应用程序。

  2. 将程序集从 PipelineComponents 文件夹拖到全局程序集缓存 (GAC) 所在的文件夹,即 %system%\assembly 文件夹。

使用 gacutil.exe 将组件安装到全局程序集缓存 (GAC) 中

  1. 打开命令提示符窗口。

  2. 键入以下命令以运行 gacutil.exe,并将 C# 版本的组件安装到 GAC 中:

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\PipelineComponents\RemoveDuplicatesCS.dll "

    - 或 -

    键入以下命令以运行 gacutil.exe,并将 Visual Basic 版本的组件安装到 GAC 中:

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\PipelineComponents\RemoveDuplicatesVB.dll "

向工具箱中添加组件

  1. 打开 Business Intelligence Development Studio。

  2. 右键单击工具箱,然后单击**“选择项”**。

  3. 在**“选择工具箱项”对话框中,单击“SSIS 数据流项”**选项卡。

  4. 单击组件旁边的复选框,然后单击**“确定”**。

    ms160916.note(zh-cn,SQL.90).gif注意:
    如果组件未显示在列表中,则可以单击“浏览”亲自定位组件。 但在此情况下,该组件可能未正确安装。

完成这些步骤后,在**“工具箱”“数据流项”**选项卡中可以看到该组件,并且可以将其添加至 SSIS 设计器中的数据流任务中。

测试示例

将组件添加至包中的数据流任务并连接至将为其提供行的组件后,便可以在 SSIS 设计器中按以下方式对其进行配置。

在包中配置示例组件

  • 在**“高级编辑器”“输入列”**选项卡中选择组件要使用的列。 只有选中的列才会传递到数据流中的下一个组件。 每列的内容都会进行比较以确定某行是否与其他行匹配。