Help and Support

文章编号: 908460 - 最后修改: 2006年3月11日 - 修订: 2.1

如何通过脚本组件数据流任务中添加 SQL Server 2005 Integration Services 软件包中的增量的计数器

展开全部 | 关闭全部

简介

使用 Business Intelligence Development Studio 创建一个 Microsoft SQL Server 2005 Integration Services (SSIS) 包时可以用数据流任务的脚本组件数据流随时添加增量的计数器。

是例如,可以将数据源后插入每行的增量计数器。 然后,可以记录,并确定已成功加载和重定向未加载的行的行数。 如果只希望最终的计数,可以使用行计数转换若要添加计数器。 若要添加计数器使用脚本组件与使用行计数转换添加一个计数器之差是:
  • 脚本组件将一个增量值作为每一行中的新列值添加到您的数据流。
  • 行计数转换添加并更新当前的计数器值单个用户定义的变量。

更多信息

要添加一个增量计数器用数据流任务的脚本组件,请按照下列步骤:
  1. 控制流 选项卡上双击数据流任务创建的。 数据流 显示选项卡。
  2. 在工具箱窗口中,双击 脚本组件
  3. 选择脚本组件类型 对话框单击 转换 ,然后单击 确定 以预先配置为转换组件。
  4. 数据流源中的连接器添加到脚本组件中,右击该数据流源,然后单击 添加路径
  5. 脚本组件中的连接器添加到数据的流目标中,右键单击,脚本组件,然后单击 添加路径
  6. 双击脚本组件。 脚本转换编辑器 对话框。
  7. 单击左窗格中的 输入和输出 ,双击在中间的窗格中的 输出 0 ,然后再单击 输出列
  8. 单击 添加列 ,然后添加一个名为 mycount 新列。
  9. 单击左边的窗格中中的 脚本 ,然后单击 设计脚本 。 新 Microsoft Visual Studio 为应用程序窗口出现,请将下面的代码粘贴到窗口中。
    Imports System
    Imports System.Data
    Imports System.Math
    Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
    Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
    
    Public Class ScriptMain
        Inherits UserComponent
        Dim counter As Integer = 0  ' User code
    
    
        Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
            '
            ' Add your code here
            Row.mycount = counter   ' User code
            counter = counter + 1   ' User code
    
            '
        End Sub
    
    End Class
  10. 脚本转换编辑器 对话框中,单击 确定
完成这些步骤时, 可以使用 mycount 列作为数据流目标列。 您可以扩展示例代码以添加更多信息的功能。 是例如可以添加 ExecutionInstanceGuid 系统变量或一个时间和日期戳。

请注意 您添加的 mycount 列反映脚本组件处理行的顺序。 mycount 列不一定反映在原始源中实际的行号。 这是如此数据流中, 其他转换后插入脚本组件时因为所有数据流对象脚本组件可以筛选数据或重定向行之前。

参考

有关详细信息,请参阅 SQL Server 2005 联机联机中的以下主题:
  • SQL Server Integration Services (SSIS)
  • 脚本组件
  • 配置脚本组件
  • 编码和测试脚本组件
  • 行计数转换

这篇文章中的信息适用于:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
关键字:?
kbmt kbsql2005ssis kbhowto KB908460 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。如果您发现了错误并希望帮助我们提高机器翻译技术,请完成文章末尾的在线调查。
点击这里察看该文章的英文版: 908460? (http://support.microsoft.com/kb/908460/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

文章翻译

 

Related Support Centers