脚本组件

更新日期: 2006 年 7 月 17 日

脚本组件承载脚本,并使包能够包含和运行自定义的脚本代码。可以将包中的脚本组件用于下列目的:

  • 将多个转换应用于数据,而不是在数据流中使用多个转换。例如,脚本可以将两列中的值相加,然后计算和的平均值。
  • 访问现有 .NET 程序集中的业务规则。例如,脚本可以应用指定 Income 列中有效值范围的业务规则。
  • 除 Integration Services 表达式语法提供的函数和运算符之外,还可使用自定义公式和函数。例如,使用 LUHN 公式验证信用卡号。
  • 验证列数据,并跳过包含无效数据的记录。例如,脚本可以评估邮资额的合理性,并跳过金额过高或过低的记录。

脚本组件为将自定义函数纳入数据流提供了简便快捷的方法。但是,如果您计划在多个包中重新使用脚本代码,则应考虑编写自定义组件,而不使用脚本组件。有关详细信息,请参阅Developing a Custom Data Flow Component

脚本组件可用作源、转换或目标。该组件支持一个输入和多个输出。根据其使用方式,该组件可以支持一个输入或多个输出,也可二者都支持。脚本由输入或输出中的每一行调用。

  • 如果用作源,则脚本组件支持多个输出。
  • 如果用作转换,则脚本组件支持一个输入和多个输出。
  • 如果用作目标,则脚本组件支持一个输入。

脚本组件不支持错误输出。

可以采用下列方法来配置脚本组件:

  • 选择要引用的输入列。
  • 提供组件运行的脚本。
  • 指定是否预编译脚本。
  • 提供逗号分隔的只读和读/写变量列表。
  • 添加更多输出,并且添加脚本要向其赋值的输出列。

使用 SSIS 设计器中的**“脚本转换编辑器”**对话框,只能配置一个输入。

若要编写自己的脚本,请从**“脚本转换编辑器”**对话框访问 Visual Studio for Applications (VSA) 环境。VSA 包含 Visual Studio .NET 环境的所有标准功能,如具有颜色编码的 Visual Studio 编辑器、IntelliSense 和对象浏览器。脚本组件使用的脚本存储在包定义中,没有单独的脚本文件。

脚本组件模式

在 SSIS 设计器中,脚本组件具有两种模式:元数据设计模式和代码设计模式。在元数据设计模式中,可以添加和修改脚本组件的输入和输出,但不能编写代码。配置完所有的输入和输出后,即可切换至代码设计模式编写脚本。脚本组件从输入和输出的元数据自动生成基代码。如果在脚本组件生成基代码后更改元数据,则您的代码可能无法再编译,因为更新的基代码可能与您的代码不兼容。

脚本

脚本组件提供一个 VSA 项目,其中包含一个名为 ScriptMain 的自动生成的类,表示组件元数据。例如,如果将脚本组件用作具有三个输出的转换,则 ScriptMain 为每个输出都包含一种方法。ScriptMain 是脚本的入口点。

脚本的 Visual Studio for Applications 开发环境仅支持使用 Microsoft Visual Basic .NET 作为脚本语言。

有关对脚本组件进行编程的信息,请参阅 Extending the Data Flow with the Script Component。有关将脚本组件配置为源、转换或目标的更多特定信息,请参阅 Developing Specific Types of Script Components。有关说明脚本组件使用的其他示例(如 ODBC 目标),请参阅 Additional Script Component Examples

预编译的脚本

可以配置脚本组件以预编译脚本。如果预编译脚本,则脚本启动会更快,并且可以在 64 位环境中运行。但是,当包中包含预编译的脚本时,其大小会较大。此外,无法调试已经过编译的脚本。在决定是否预编译脚本时应当考虑这些因素。

默认情况下,脚本组件配置为预编译其脚本,该组件的 PreCompile 属性设置为 True。在包的开发和调试期间,通常将 PreCompile 属性设置为 False,然后在部署包之前重置为 True

配置脚本组件

可以通过 SSIS 设计器或以编程方式来设置属性。

有关可在**“脚本转换编辑器”**对话框中设置的属性的详细信息,请单击以下主题之一:

有关可在**“属性”**窗口中或以编程形式设置的属性的详细信息,请单击以下主题之一:

有关如何设置属性的详细信息,请单击下列主题之一:

请参阅

概念

Integration Services 转换
64 位计算机上的 Integration Services 注意事项

其他资源

Extending the Data Flow with the Script Component

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:
  • 说明了使用脚本语言的限制。

2005 年 12 月 5 日

更改的内容:
  • 添加了对 PreCompile 属性的说明。