반응형

프로세스 실행 작업

 

 프로세스 실행 작업은 데이터 처리 프로세스 내에서 윈도우 어플리케이션 또는 콘솔 어플리케이션을 호출하는 작업 개체입니다. 예를 들어, 압축된 형태로 된 데이터 파일을 FTP를 이용하여 가져온 후, 압축을 해제하는 프로그램을 이용하여 이 파일의 압축을 풀어야 하는 경우도 있습니다. 해당 프로그램을 실행할 때에는 압축 파일 명이나 출력 대상 경로 지정과 같은 입력 매개 변수를 설정하며, 경우에 따라서는 프로그램의 실행 결과값을 변수에 저장하거나, 오류 정보를 관리해야 할 수 있습니다. SQL 2000 DTS에서도 프로세스 실행 작업은 있었으나, SQL 2005 SSIS에서는 훨씬 다양한 옵션을 가진 작업 개체로 향상되었습니다.

 

 

Ÿ           프로세스

RequireFullFileName – 프로그램을 실행할 때 전체 경로가 필요한지를 설정합니다. 만약 이 값을 True로 설정한 후, 전체 경로에 해당 파일이 없으면 실패가 됩니다. 이 속성은 다음과 같은 경우에 유용합니다. 윈도우의 PATH 속성에 포함된 경로에 있는 프로그램들 (notepad.exe 또는 mapaint.exe)은 전체 경로를 지정하지 않아도 수행이 됩니다. 예를 들어, 사용자가 notepad.exe라는 이름의 프로그램을 만든 후 특정 폴더에 저장하고, 이 폴더에 있는 해당 프로그램이 실행되도록 해야 하는 경우, RequireFullFileName 의 속성을 True로 설정하고 Executable에 전체 경로가 포함된 프로그램 경로를 지정합니다

Executable – 실행할 프로그램 명입니다. 프로그램이 위치한 전체 경로가 포함되는 것이 일반적이며, 윈도우의 PATH 속성에 포함되어 있는 프로그램들을 실행시키는 경우, 단순히 프로그램 이름 및 확장자 명만을 입력해도 됩니다. ( : notepad.exe) 프로그램 명에서는 입력 매개변수 또는 출력 매개변수를 지정할 수 없습니다.

Arguments – 프로그램 실행 시 지정할 명령 프롬프트 인수를 지정합니다.

WorkingDirectory – 프로그램이 실행될 작업 폴더를 지정합니다. 특정 폴더에서 해당 프로그램이 실행하도록 해야 하는 경우, 이 속성값을 지정합니다.

StandardInputVariable – 프로그램에 입력 변수로 전달할 사항이 포함된 SSIS 변수를 지정합니다. Arguments에 직접 변수를 쓰는 대신, SSIS자형 변수에 입력 값을 저장해 놓은 후, 이 속성에서 해당 변수를 지정하면 됩니다. 예를 들어, expand.exe라는 압축 실행 프로그램을 수행할 것이며, 이 때 입력 매개 변수인 압축 파일명은 앞 단계에서 지정이 되어야 하는 경우를 고려해 봅시다. Executable의 속성 값을 expand.exe로 지정한 후, SSIS에서 FileName이라는 문자형 변수에 d:\data_0813.cab 라는 값을 설정합니다. 이 후, StandardInputVariable 속성에서 [사용자::FileName]으로 지정해 주면 됩니다.

StandardOutputVariable – 프로그램이 출력된 후의 결과를 SSIS의 변수에 저장하도록 설정합니다.

StandardErrorVariable – 프로그램 수행 중 발생된 에러 정보를 SSIS 변수에 저장하도록 설정합니다. 이 속성을 이용하여 에러 핸들링과 같은 단계를 수행할 수 있습니다. 예를 들어 expand.exe를 이용하여 압축 파일을 풀려고 할 때, 해당 파일이 다른 프로그램에서 사용 중이어서 잠금이 발생이 되어 수행이 실패했다고 가정합시다. 이러한 실패 결과를 사용자 변수에 저장시키고, 뒷 단계에서 해당 변수 값의 내용을 판단하여 공유 잠금으로 인한 에러인 경우, 다시 시도하도록 설정할 수 있습니다.

FailTaskIfReturnCodeIsNotSuccessValue – 프로그램이 종료가 되면 결과 값을 반환합니다. 일반적인 결과 값은 0입니다. 만약 프로그램이 반환한 결과값이 SuccessValue의 결과값과 다른 경우에 해당 작업을 실패로 처리할 지를 설정합니다.

SuccessValue - 성공을 표시하기 위해 실행 파일에서 반환하는 값을 지정합니다. 기본적으로 이 값은 0으로 설정됩니다.

TimeOut – 프로그램이 실행될 수 있는 시간()을 지정합니다. 0으로 지정하면 시간 제한 없이 프로그램이 완료되거나 오류가 발생할 때까지 수행되도록 한다는 것을 의미합니다.

TerminateProcessAfterTimeOut - TimeOut 속성에 지정한 제한 시간 후의 프로그램을 강제로 종료할 지를 설정합니다. 이 옵션은 TimeOut 0이 아닌 경우에만 사용할 수 있습니다.

WindowStyle – 프로그램이 실행될 때의 창의 모습을 지정합니다.

 

 

SQL 2000 DTS에서는 프로그램을 실행시킬 때 동적 속성 작업이나 ActiveX 스크립트 작업을 이용하여 프로세스 실행 작업의 매개 변수 값을 변경하는 방식으로 동적인 작업을 구현하였습니다. 실제 예로, Filter.exe 라는 웹 로그 프로그램에 대해 처리시간을 지정하는 입력 매개 변수를 지정할 때 다음과 같은 형태의 ActiveX 스크립트 작업을 이용하였습니다.

 

 

 

만약 이 경우, SSIS프로세스 실행 작업을 이용하는 경우, StandardInputVariable의 값에 [사용자::작업시간]이라는 변수를 바로지정해 주면 됩니다.

 

 

 

 


반응형

+ Recent posts