프로세스 실행 태스크

 

안녕하세요 강성욱 입니다. (www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida)

이번 시간에는 [프로세스 실행 태스크]에 대해서 알아 보도록 하겠습니다.

 

[프로세스 실행 작업]은 데이터 처리 프로세스 내에서 윈도우 어플리케이션 또는 콘솔 어플리케이션을 호출하는 작업 개체 입니다. 프로그램에 따라서 매개변수가 필요하거나 실행결과 정보를 변수에 저장할 수도 있습니다.

 

이번 실습에서는 [프로세스 실행 작업] 개체와 [7zip] 어플리케이션을 이용하여 특정 파일을 압축하는 방법을 알아 보도록 하겠습니다.

 

(실습을 위해서 반드시 7Zip을 사용할 필요는 없습니다.)

 

[BIDS]를 실행하여 [Integration Services 프로젝트]를 생성 합니다.

 

 

[제어 흐름] 탭에서 [프로세스 실행 태스크]를 드래그 앤 드롭으로 끌어다 놓습니다.

 

[프로세스 실행 태스크]에서 마우스 오른쪽을 클릭하여 [편집]을 선택 합니다.

 

[프로세스 실행 태스크 편집기] 창이 나타납니다.

[일반]탭에서는 태스크의 이름을 변경 할 수 있습니다.

 

[프로세스] 탭에서는 다양한 설정을 할 수 있습니다.

 

실습에서는 7zip을 이용한 파일 압축 이기에 위의 그림과 같이 해당 경로 및 매개변수를 지정 합니다.

[Executable]

C:\Program Files\7-Zip\7z.exe

 

[Arguments]

a "D:\KangSW\Result.Zip" "D:\KangSW\1.txt"

 

[각 항목 설명]

  • RequireFullname – 프로그램을 실행할 때 전체 경로가 필요한지 설정, TURE일대 해당 경로에 파일이 없으면 실패를 반환. 또한 OS PATH(notepad.exe, mspaint.exe)는 경로를 지정하지 않아도 수행 가능.

 

  • Ececutable – 실행 할 프로그램.
  • Arguments – 프로그램 실행시 필요한 입력 변수 지정.
  • WorkingDirectory – 프로그램이 실행될 작업 폴더를 지정. 특정 폴더에서 해당 프로그램이 실행하도록 할 경우 이 속성 값을 지정.
  • StandardInputVariable – 프로그램에 입력 변수로 전달할 값이 저장된 SSIS 변수를 지정. Arguments에 직접 쓰는 대신 SSIS의 문자형 변수에 입력 변수로 사용할 값을 저장한 후 이 변수를 지정합니다.
  • StandardOutputVariable – 프로그램이 수행된 후 반환되는 결과값을 저장할 변수를 지정합니다.
  • StandardErrorVariable – 프로그램 수행 중 발생된 오류 정보를 변수에 저장하도록 설정 합니다.
  • FailTaskIfReturnCodeIsNotSuccessValue – 프로그램이 종료된 후 출력되는 결과값이 SuccessValue에서 정한 값과 다를 경우 실패로 처리할지 설정. 일반적인 종료시 0이 출력됩니다.
  • SuccessValue – 성공으로 판단할 값을 지정. 디폴트 0 으로 설정 되어 있습니다.
  • TimeOut – 프로그램이 시행 될 수 있는 시간(초)를 지정 합니다. 0 으로 지정하면 시간 제한 없이 프로그램이 완료 되거나 오류가 발생 할 때 까지 계속 수행하게 됩니다.
  • TerminateProcessAfterTimeOut – TimeOut 속성에 지정한 제한 시간이 지난 경우 프로그램을 강제 종료 할지 설정 합니다. TimeOut이 0 아닌 경우에만 사용 가능 합니다.
  • WindowsStyle – 프로그램이 실행될 때의 창의 모습을 지정 합니다.

 

 

[식] 탭에서는 Arguments에 사용할 값을 지정 할 수 있습니다.

변수에는 단 하나의 식만 정의할 수 있지만 작업 개체나 컨텐이너, 연결 등과 같이 여러 속성을 가지는 개체에서는 여러 개의 식을 정의하여 사용할 수도 있습니다.

 

변수 관련 참고 링크

http://blog.naver.com/jevida/140160932965

 

 

[식 작성기]에서 식을 작성할 때에는 시스템 변수, 사용자 변수를 사용할 수 있으며 각종 함수 및 연사자 등을 이용할 수있습니다.

 

 

(이번 실습에서는 [식] 탭의 설정은 따로 하지 않습니다.)

 

[프로세스 실행 태스크]에서 설정한 폴더의 위치에 1.TXT파일을 생성 합니다.

 

편집이 완료 되었으면 패키지를 실행 합니다.

늘 그러듯!

녹색 : 정상 실행

빨간색 : 오류 발생

 

패키지를 실행하면 해당 경로 폴더에 Result.Zip라는 이름으로 압축 파일이 생성된 것을 확인 할 수 있습니다.

 

아래 그림은 큰 용량의 파일(4.5G)를 압축하는 그림입니다.

압축 프로그램이 실행되는 것을 확인 할 수 있습니다.

 

 

 

 

[프로세스 실행 태스크]를 이용하면 일일 통계나 기타 정보를 BCP 작업을 이용하여 텍스트 파일로 저장하여 이를 압축하여 다른 서버 및 메일로 전송 태스크과 함께 유용하게 사용 할 듯 합니다. 


강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp



No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1241
1546 SSIS - 웹서비스 작업 - 웹 정보를 가져오자 jevida(강성욱) 2013.09.24 7980
1545 SSIS - 메시지 큐 - MSMQ를 이용한 비동기 전송 jevida(강성욱) 2013.09.24 10946
1544 SSIS - 메일 보내기 - 데이터 처리 결과를 메일로 전송 하자! jevida(강성욱) 2013.09.24 10463
1543 SSIS - 대량 삽입 작업 - BULK INSERT ? jevida(강성욱) 2013.09.24 10893
1542 SSIS - 이벤트 처리 및 오류 출력 - 다양한 이벤트로 오류를 출력하자 jevida(강성욱) 2013.09.24 8898
1541 SSIS - 데이터 흐름 경로 jevida(강성욱) 2013.09.24 8673
1540 VS2012 에서 CLR 프로젝트 작업 시 SSDT 오류 날 경우 쓸만한게없네(윤선식) 2013.08.21 5475
1539 SQL2014 Buffer Pool Extension 열이 2013.07.01 6078
1538 SQL Server 2014 CTP1 In-Memory OLTP 샘플 및 스샷 [1] 열이 2013.06.27 6303
1537 SQL Server 2014 CTP1 간단 설치 리뷰... [1] 이지만 2013.06.26 4883
1536 SQL Server 2014 Key Note. [2] 쓸만한게없네(윤선식) 2013.06.10 6600
1535 SQL Server Language Code [3] 쓸만한게없네(윤선식) 2013.05.06 7283
1534 sp_depends를 믿을 수 없다? [3] 차주언 2013.05.03 6812
1533 SSIS - 검사점 jevida(강성욱) 2013.04.19 8373
1532 SSIS - 패키지 구성 [1] jevida(강성욱) 2013.04.19 10152
» SSIS - 프로세스 실행 태스크 [2] jevida(강성욱) 2013.04.19 10388
1530 SSIS - 변수 – 다양한 사용자 변수를 만들어 보자 [3] jevida(강성욱) 2013.04.19 10863
1529 SQL Server Version별 Sample Database Download 경로 [2] 쓸만한게없네(윤선식) 2013.04.17 6841
1528 InstrCount함수와 InstrCountRev함수를 한번 만들어봤습니다. [5] Light 2013.03.27 6119
1527 구분자에 의해 구분되어 반환되는 split함수가 없어서 한번 만들어 봤습니다. [2] Light 2013.03.27 7574





XE Login