执行进程任务

执行进程任务在 SQL ServerIntegration Services 包工作流中运行应用程序或批处理文件。虽然可以使用执行进程任务打开任意标准应用程序(例如 Microsoft Excel 或 Microsoft Word),但通常还是使用它来运行针对数据源执行的业务应用程序或批处理文件。例如,可以使用执行进程任务来展开一个压缩的文本文件。然后,包可将该文本文件用作包中数据流的数据源。再举一个例子,您可以使用执行进程任务运行生成日销售额报表的自定义 Visual Basic 应用程序。然后,可以将该报表附加到发送邮件任务,并将其转发给通讯组列表。

当执行进程任务运行自定义应用程序时,该任务将通过以下一种或两种方法为该应用程序提供输入:

  • StandardInputVariable 属性设置中指定的变量。有关变量的详细信息,请参阅 Integration Services 变量在包中使用变量

  • Arguments 属性设置中指定的参数。(例如,如果该任务打开一个 Word 格式的文档,该参数就可指定该 .doc 文件的名称。)

若要在一个执行进程任务中向自定义应用程序传递多个参数,请使用空格将这些参数隔开。参数中不能包含空格,否则该任务将不运行。可以使用表达式将变量值作为参数传递。在下面的示例中,表达式将两个变量值作为参数传递并使用空格将参数隔开:

@variable1 + " " + @variable2

可以使用表达式设置执行进程任务的各种属性。

当使用 StandardInputVariable 属性配置执行进程任务以提供输入时,请从该应用程序中调用 Console.ReadLine 方法来读取输入。有关详细信息,请参阅 Microsoft.NET Framework 类库中的 Console.ReadLine 这一主题。

当使用 Arguments 属性配置执行进程任务以提供输入时,请执行下列步骤之一以获得参数:

  • 如果使用 Microsoft Visual Basic 2005 编写应用程序,请设置 My.Application.CommandLineArgs 属性。下面的示例设置 My.Application.CommandLineArgs 属性以检索两个参数:

    Dim variable1 As String = My.Application.CommandLineArgs.Item(0)
    Dim variable2 As String = My.Application.CommandLineArgs.Item(1) 
    

    有关详细信息,请参阅 Visual Basic 参考中的 My.Application.CommandLineArgs 这一主题。

  • 如果使用 Microsoft Visual C# 编写该应用程序,请使用 Main 方法。

    有关详细信息,请参阅 C# 编程指南中的命令行参数(C# 编程指南)这一主题。

执行进程任务还包括 StandardOutputVariableStandardErrorVariable 属性,用来分别指定使用该应用程序的标准输出和错误输出的变量。

另外,您还可以配置执行进程任务来指定工作目录、超时期限或表示可执行文件成功运行的值。您还可以对该任务进行配置,使其在可执行文件的返回代码与指示成功的值不匹配时或者在指定位置找不到可执行文件时失败。

其他相关任务

Integration Services 还包含一些执行工作流操作的其他任务(如执行包)。

有关这些任务的详细信息,请单击以下主题之一:

执行进程任务可用的自定义日志项

下表列出了执行进程任务的自定义日志项。有关详细信息,请参阅在包中实现日志记录日志记录的自定义消息

日志项

说明

ExecuteProcessExecutingProcess

提供所配置任务要运行的进程的信息。

写入两个日志条目。一个日志条目包含有关任务所运行可执行文件的名称和位置的信息,另一个条目则记录从可执行文件退出的信息。

ExecuteProcessVariableRouting

提供有关哪些变量被路由到可执行文件的输入和输出的信息。将为 stdin(输入)、stdout(输出)和 stderr(错误输出)写入日志条目。

配置执行进程任务

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

有关可以在 SSIS 设计器中设置的属性的详细信息,请单击下列主题之一:

有关如何在 SSIS 设计器中设置这些属性的详细信息,请单击下列主题:

以编程方式配置执行进程任务

有关以编程方式设置这些属性的详细信息,请单击以下主题:

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

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

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

更改历史记录

更新的内容

  • 提供了有关设置 Arguments 属性的以下信息:

    • 一个演示如何使用表达式设置该属性的示例。

    • 一个代码示例,演示如何设置应用程序中的 My.Application.CommandLineArgs 属性以获取一个参数。