프로세스 실행 태스크Execute Process Task

프로세스 실행 태스크는 SQL ServerSQL Server Integration ServicesIntegration Services 패키지 워크플로의 일부로 응용 프로그램이나 배치 파일을 실행합니다.The Execute Process task runs an application or batch file as part of a SQL ServerSQL Server Integration ServicesIntegration Services package workflow. 프로세스 실행 태스크를 사용하여 Microsoft ExcelMicrosoft Excel 또는 Microsoft WordMicrosoft Word와 같은 모든 표준 응용 프로그램을 열 수 있지만 이 태스크는 일반적으로 데이터 원본에 대해 작동하는 비즈니스 응용 프로그램이나 배치 파일을 실행하는 데 사용됩니다.Although you can use the Execute Process task to open any standard application, such as Microsoft ExcelMicrosoft Excel or Microsoft WordMicrosoft Word, you typically use it to run business applications or batch files that work against a data source. 예를 들어 프로세스 실행 태스크를 사용하여 압축된 텍스트 파일을 확장할 수 있습니다.For example, you can use the Execute Process task to expand a compressed text file. 패키지는 이 텍스트 파일을 패키지의 데이터 흐름에 대한 데이터 원본으로 사용할 수 있습니다.Then the package can use the text file as a data source for the data flow in the package. 예를 들어 프로세스 실행 태스크를 사용하여 일일 판매 보고서를 생성하는 사용자 지정 Visual BasicVisual Basic 응용 프로그램을 실행할 수도 있습니다.As another example, you can use the Execute Process task to run a custom Visual BasicVisual Basic application that generates a daily sales report. 그런 다음 이 보고서를 메일 보내기 태스크에 첨부하여 메일 그룹에 전달할 수 있습니다.Then you can attach the report to a Send Mail task and forward the report to a distribution list.

Integration ServicesIntegration Services 에는 패키지 실행과 같은 워크플로 태스크를 수행하는 기타 태스크가 있습니다. includes other tasks that perform workflow operations such as executing packages. 자세한 내용은 Execute Package Task를 참조하세요.For more information, see Execute Package Task

프로세스 실행 태스크에 사용할 수 있는 사용자 지정 로그 항목Custom Log Entries Available on the Execute Process Task

다음 표에서는 프로세스 실행 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Execute Process task. 자세한 내용은 Integration Services(SSIS) 로깅을 참조하세요.For more information, see Integration Services (SSIS) Logging.

로그 항목Log entry DescriptionDescription
ExecuteProcessExecutingProcessExecuteProcessExecutingProcess 태스크에서 실행하도록 구성할 프로세스에 대한 정보를 제공합니다.Provides information about the process that the task is configured to run.

두 개의 로그 항목이 기록됩니다.Two log entries are written. 한 항목에는 태스크가 실행하는 실행 파일의 이름과 위치에 대한 정보가 들어 있고 다른 항목은 실행 파일의 종료를 기록합니다.One contains information about the name and location of the executable that the task runs, and the other entry records the exit from the executable.
ExecuteProcessVariableRoutingExecuteProcessVariableRouting 실행 파일의 입력 및 출력으로 라우팅되는 변수에 대한 정보를 제공합니다.Provides information about which variables are routed to the input and outputs of the executable. stdin(입력), stdout(출력) 및 stderr(오류 출력)에 대한 로그 항목이 기록됩니다.Log entries are written for stdin (the input), stdout (the output), and stderr (the error output).

프로세스 실행 태스크 구성Configuration of the Execute Process Task

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically.

SSISSSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.For more information about the properties that you can set in SSISSSIS Designer, click one of the following topics:

속성 설정Property Settings

프로세스 실행 태스크는 사용자 지정 응용 프로그램을 실행할 때 다음 방법 중 하나 또는 모두를 통해 응용 프로그램에 입력을 제공합니다.When the Execute Process task runs a custom application, the task provides input to the application through one or both of the following methods:

  • StandardInputVariable 속성 설정에서 지정하는 변수.A variable that you specify in the StandardInputVariable property setting. 변수에 대한 자세한 내용은 Integration Services(SSIS) 변수패키지에서 변수 사용을 참조하세요.For more information about variables, see Integration Services (SSIS) Variables and Use Variables in Packages.

  • Arguments 속성 설정에서 지정하는 인수.An argument that you specify in the Arguments property setting. 예를 들어 태스크가 Word 문서를 여는 경우 인수에서 .doc 파일의 이름을 지정할 수 있습니다.(For example, if the task opens a document in Word, the argument can name the .doc file.)

    하나의 프로세스 실행 태스크에 있는 사용자 지정 응용 프로그램에 여러 인수를 전달하려면 공백으로 인수를 구분합니다.To pass multiple arguments to a custom application in one Execute Process task, use spaces to delimit the arguments. 인수는 공백을 포함할 수 없습니다. 공백을 포함하는 경우 태스크가 실행되지 않습니다.An argument cannot include a space; otherwise, the task will not run. 변수 값을 인수로 전달하는 식을 사용할 수 있습니다.You can use an expression to pass a variable value as the argument. 다음 예에서는 식이 두 변수 값을 인수로 전달하고 공백을 사용하여 인수를 구분합니다.In the following example, the expression passes two variable values as arguments, and uses a space to delimit the arguments:

    @variable1 + " " + @variable2

    여러 프로세스 실행 태스크 속성을 설정하는 식을 사용할 수 있습니다.You can use an expression to set various Execute Process task properties.

    StandardInputVariable 속성을 사용하여 프로세스 실행 태스크에서 입력을 제공하도록 구성하는 경우 응용 프로그램에서 Console.ReadLine 메서드를 호출하여 입력을 읽습니다.When you use the StandardInputVariable property to configure the Execute Process task to provide input, call the Console.ReadLine method from the application to read the input. 자세한 내용은 클래스 라이브러리의 MicrosoftMicrosoft .NET Framework.NET Framework Class Library.For more information, see Console.ReadLine Methodthe topic, , in the MicrosoftMicrosoft .NET Framework.NET Framework Class Library.

    Arguments 속성을 사용하여 프로세스 실행 태스크에서 입력을 제공하도록 구성하는 경우 다음 단계 중 하나를 수행하여 인수를 얻습니다.When you use the Arguments property to configure the Execute Process task to provide input, do one of the following steps to obtain the arguments:

  • Microsoft Visual Basic을 사용하여 응용 프로그램을 작성하는 경우 My.Application.CommandLineArgs 속성을 설정합니다.If you use Microsoft Visual Basic to write the application, set the My.Application.CommandLineArgs property. 다음 예에서는 My.Application.CommandLineArgs 속성을 설정하여 두 인수를 검색합니다.The following example sets the My.Application.CommandLineArgs property is to retrieve two arguments:

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

    자세한 내용은 참조에서My.Application.CommandLineArgs 속성 Visual BasicVisual Basic 항목을 참조하십시오.For more information, see the topic, My.Application.CommandLineArgs Property, in the Visual BasicVisual Basic reference.

  • Microsoft Visual C#을 사용하여 응용 프로그램을 작성하는 경우 Main 메서드를 사용합니다.If you use Microsoft Visual C# to write the applicate, use the Main method.

    자세한 내용은 C# 프로그래밍 가이드의 명령줄 인수(C# 프로그래밍 가이드)항목을 참조하세요.For more information, see the topic, Command-Line Arguments (C# Programming Guide), in the C# Programming Guide.

    프로세스 실행 태스크에는 각각 응용 프로그램의 표준 출력과 응용 프로그램 표준 오류 출력을 사용하는 변수를 지정하는 StandardOutputVariableStandardErrorVariable 속성도 있습니다.The Execute Process task also includes the StandardOutputVariable and StandardErrorVariable properties for specifying the variables that consume the standard output and error output of the application, respectively.

    또한 프로세스 실행 태스크를 구성하여 작업 디렉터리, 제한 시간 경과 또는 실행 파일이 성공적으로 실행되었음을 나타내는 값을 지정할 수 있습니다.Additionally, you can configure the Execute Process task to specify a working directory, a time-out period, or a value to indicate that the executable ran successfully. 실행 파일의 반환 코드가 성공을 나타내는 값과 일치하지 않거나 지정한 위치에 실행 파일이 없을 경우 태스크가 실패하도록 구성할 수도 있습니다.The task can also be configured to fail if the return code of the executable does not match the value that indicates success, or if the executable is not found at the specified location.

프로세스 실행 태스크의 프로그래밍 방식 구성Programmatic Configuration of the Execute Process Task

이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목을 클릭하십시오.For more information about programmatically setting these properties, click the following topic:

관련 항목:See Also

Integration Services 태스크 Integration Services Tasks
제어 흐름Control Flow