프로세스 실행 태스크

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

프로세스 실행 태스크는 SQL Server Integration Services 패키지 워크플로의 일부로 애플리케이션이나 배치 파일을 실행합니다. 프로세스 실행 태스크를 사용하여 Microsoft Excel 또는 Microsoft Word와 같은 표준 응용 프로그램을 열 수 있지만 일반적으로 데이터 원본에 대해 작동하는 비즈니스 응용 프로그램 또는 일괄 처리 파일을 실행하는 데 사용합니다. 예를 들어 프로세스 실행 태스크를 사용하여 압축된 텍스트 파일을 확장할 수 있습니다. 그런 다음 패키지에서 텍스트 파일을 패키지의 데이터 흐름에 대한 데이터 원본으로 사용할 수 있습니다. 또 다른 예로, 프로세스 실행 태스크를 사용하여 일일 판매 보고서를 생성하는 사용자 지정 Visual Basic 애플리케이션을 실행할 수 있습니다. 그런 다음 보고서를 메일 보내기 태스크에 첨부하고 보고서를 메일 그룹으로 전달할 수 있습니다.

Integration Services에는 패키지 실행과 같은 워크플로 태스크를 수행하는 기타 태스크가 있습니다. 자세한 내용은 패키지 실행 태스크를 참조 하세요.

프로세스 실행 태스크에서 사용할 수 있는 사용자 지정 로그 항목

다음 표에서는 프로세스 실행 태스크에 대한 사용자 지정 로그 항목을 나열합니다. 자세한 내용은 SSIS(Integration Services) 로깅을 참조하세요.

로그 항목 설명
ExecuteProcessExecutingProcess 태스크가 실행되도록 구성된 프로세스에 대한 정보를 제공합니다.

두 개의 로그 항목이 기록됩니다. 하나는 태스크가 실행되는 실행 파일의 이름과 위치에 대한 정보를 포함하고 다른 항목은 실행 파일에서 종료를 기록합니다.
ExecuteProcessVariableRouting 실행 파일의 입력 및 출력으로 라우팅되는 변수에 대한 정보를 제공합니다. stdin(입력), stdout(출력) 및 stderr(오류 출력)에 대한 로그 항목이 기록됩니다.

프로세스 실행 태스크 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

SSIS 디자이너에서 이러한 속성을 설정하는 방법에 대한 자세한 내용은 제어 흐름에서 작업 또는 컨테이너 추가 또는 삭제를 참조 하세요.

속성 설정

프로세스 실행 태스크가 사용자 지정 애플리케이션을 실행하는 경우 태스크는 다음 방법 중 하나 또는 둘 다를 통해 애플리케이션에 입력을 제공합니다.

프로세스 실행 태스크에서 사용자 지정 애플리케이션에 여러 인수를 전달하려면 공백을 사용하여 인수를 구분합니다. 인수는 공백을 포함할 수 없습니다. 그렇지 않으면 작업이 실행되지 않습니다. 식을 사용하여 변수 값을 인수로 전달할 수 있습니다. 다음 예제에서 식은 두 변수 값을 인수로 전달하고 공백을 사용하여 인수를 구분합니다.

@variable1 + " " + @variable2

식을 사용하여 다양한 프로세스 실행 태스크 속성을 설정할 수 있습니다.

StandardInputVariable 속성을 사용하여 입력을 제공하도록 프로세스 실행 태스크를 구성하는 경우 애플리케이션에서 Console.ReadLine 메서드를 호출하여 입력을 읽습니다. 자세한 내용은 Console.ReadLine 메서드를 참조 하세요.

인수 속성을 사용하여 입력을 제공하도록 프로세스 실행 태스크를 구성하는 경우 다음 단계 중 하나를 수행하여 인수를 가져옵니다.

  • Microsoft Visual Basic을 사용하여 애플리케이션을 작성하는 경우 My.Application.CommandLineArgs 속성을 설정합니다. 다음 예제에서는 My.Application.CommandLineArgs 속성을 설정하여 두 인수를 검색합니다.

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

    자세한 내용은 ConsoleApplicationBase.CommandLineArgs 속성을 참조 하세요.

  • Microsoft Visual C#을 사용하여 애플리케이션을 작성하는 경우 Main 메서드를 사용합니다.

    자세한 내용은 명령줄 인수(C# 프로그래밍 가이드)를 참조하세요.

프로세스 실행 태스크에는 애플리케이션의 표준 출력 및 오류 출력을 각각 사용하는 변수를 지정하기 위한 StandardOutputVariable 및 StandardErrorVariable 속성도 포함됩니다.

또한 작업 디렉터리, 제한 시간 또는 실행 파일이 성공적으로 실행되었음을 나타내는 값을 지정하도록 프로세스 실행 태스크를 구성할 수 있습니다. 실행 파일의 반환 코드가 성공을 나타내는 값과 일치하지 않거나 지정된 위치에서 실행 파일을 찾을 수 없는 경우 작업이 실패하도록 구성할 수도 있습니다.

프로세스 실행 태스크의 프로그래밍 방식 구성

이러한 속성을 프로그래밍 방식으로 설정하는 방법에 대한 자세한 내용은 다음을 참조하세요 ExecuteProcess.

프로세스 실행 태스크 편집기(일반 페이지)

프로세스 실행 태스크 편집기 대화 상자의 일반 페이지를 사용하여 프로세스 실행 태스크의 이름을 지정하고 설명합니다.

옵션

이름
프로세스 실행 태스크에 대한 고유한 이름을 제공합니다. 이 이름은 태스크 아이콘에서 레이블로 사용됩니다.

참고

태스크 이름은 패키지 내에서 고유해야 합니다.

설명
프로세스 실행 태스크에 대한 설명을 입력합니다.

프로세스 실행 태스크 편집기(프로세스 페이지)

프로세스 실행 태스크 편집기 대화 상자의 프로세스 페이지를 사용하여 프로세스를 실행하는 옵션을 구성합니다. 이러한 옵션에는 실행할 실행 파일, 해당 위치, 명령 프롬프트 인수 및 입력 및 캡처 출력을 제공하는 변수가 포함됩니다.

옵션

RequireFullFileName
지정된 위치에서 실행 파일을 찾을 수 없는 경우 태스크가 실패할지 여부를 나타냅니다.

실행 파일
실행할 실행 파일 이름을 입력합니다.

인수
명령 프롬프트 인수를 제공합니다.

WorkingDirectory
실행 파일이 포함된 폴더의 경로를 입력하거나 찾아보기 단추 (...) 를 선택하고 폴더를 찾습니다.

StandardInputVariable
프로세스에 입력을 제공할 변수를 선택하거나 새 변수를 선택하여 <새 변수를 만듭니다.>

관련 항목: Integration Services(SSIS) 변수

StandardOutputVariable
프로세스의 출력을 캡처할 변수를 선택하거나 새 변수를 선택하여 <새 변수> 를 만듭니다.

StandardErrorVariable
프로세서의 오류 출력을 캡처할 변수를 선택하거나 새 변수를 선택하여 <새 변수> 를 만듭니다.

FailTaskIfReturnCodeIsNotSuccessValue
프로세스 종료 코드가 SuccessValue에 지정한 값과 다른 경우 태스크 실패 여부를 나타냅니다.

SuccessValue
실행 파일에서 반환된 값을 지정하여 성공을 나타냅니다. 기본적으로 이 값은 .로 설정됩니다 0.

TimeOut
프로세스를 실행할 수 있는 시간(초)을 지정합니다. 값 0 은 시간 제한 값이 사용되지 않으며 프로세스가 완료되거나 오류가 발생할 때까지 실행됨을 나타냅니다.

TerminateProcessAfterTimeOut
TimeOut 옵션에 지정된 제한 시간 이후에 프로세스가 강제로 종료되는지 여부를 나타냅니다. 이 옵션은 TimeOut이 아닌 0경우에만 사용할 수 있습니다.

WindowStyle
프로세스를 실행할 창 스타일을 지정합니다.