반응형

SQL 실행 작업

 

이번에는 제어 흐름 항목의 작업들 중에서 [SQL 실행 작업]에 대해 알아보도록 하겠습니다.

 

[SQL 실행 작업]은 이름 그대로, 사용자가 지정하는 SQL 쿼리를 수행하기 위한 작업입니다. 데이터 변환 작업을 수행하기 전에 필요한 테이블이나 DB를 만든다든지, 기존의 데이터를 정리한다든지, 또한 작업에 필요한 SQL 문을 실행하는 데에 이용할 수 있습니다.

 

SQL 2000 DTS에서는 가장 많이 사용된 작업들 중의 하나였으며, 2005에서는 2000에 비해 여러 다양한 기능들이 추가되었습니다.

 

 

SQL 실행 작업 편집기의 속성은 4가지의 탭으로 구성되어 있습니다. 이 중, 마지막 부분은 대부분의 작업에 공통적으로 포함되어 있기 때문에 본 설명에서는 제외하도록 하겠습니다.

 

 

A. 일반

일반 탭은 SQL 실행 작업의 Connection Type이나, 옵션 등을 설정하는 부분입니다.

 

 

a.      ConnectionType : EXCEL이나, OLE DB, ODBC SQL문이 수행될 Connection의 유형을 지정합니다.


b.      Connection : ConnectionType에 해당하는 Connection을 지정합니다. 이미 SSIS의 연결 관리자에 Connection Type에 해당하는 연결이 추가되어 있는 경우는 자동으로 항목이 나타나며, 추가되어 있지 않은 경우에는 <새 연결..>을 이용하여 만들 수 있습니다.

c.      SQLSourceType

직접 입력 : 아래의 SQLStatement 부분에 수행될 쿼리문을 직접 입력하도록 합니다.
파일 연결 : 수행될 쿼리문을 별도의 파일로 저장해 놓은 경우, 이를 사용합니다. SQLSourceType을 파일 연결로 선택하게 되면 아래의 SQLStatement 부분이 자동으로 FileConnection으로 변경되며, FileConnection 역시 연결 관리자에 추가된 파일을 사용하게 됩니다.
변수   : 수행될 쿼리문을 String형 변수에 저장시켜 놓은 후, 이를 이용하는 경우에 사용합니다.

d.      IsQueryStoreProcedure : 수행될 쿼리가 저장 프로시저인지를 설정합니다. ConnectionTypeADO 연결이 아닌 경우에는 이 옵션은 항상 false 입니다

e.      BypassPrepare : 쿼리문이 수행되기 위해 연결 관리자의 해당 연결로 보내기 전에 쿼리를 미리 준비해야 할지를 설정합니다.

f.         ResultSet : 쿼리 결과 형식을 지정합니다. 단순히 수행되는 쿼리인 경우에는 없음으로 지정을 하며, 수행 후 출력되는 결과의 유형에 맞게 속성을 지정합니다. 결과가 있는 경우, 결과 집합 탭에서 이를 지정해 줘야 합니다.

     

g.      TimeOut : 쿼리가 수행되는 동안의 TimeOut 값을 설정합니다. 0인 경우, TimeOut 값 미지정인 상태입니다.

h.      CodePage : 수행될 쿼리의 Language Code 입니다. 보통 한국어는 949, 영어는 1252 입니다.

 

이 외에 쿼리 작성기 등 추가 기능이 포함되어 있습니다.

 

 

 

B. 매개 변수 매핑

매개 변수 매핑 탭은 앞의 일반 탭에서 수행될 쿼리에 매개 변수가 포함되어 있는 경우, 이를 지정해 주는 부분입니다.

 

예를 들어, 수행 되는 쿼리가 다음과 같은 경우를 살펴 봅시다.

SELECT   * FROM      TESTTABLE WHERE   Vals = ?

, 변수의 값을 조건 절에 대입하여 쿼리를 수행하는 쿼리입니다. ? 부분이 매개 변수 값이 들어가는 부분이며, 매개 변수 매핑 탭에서 이를 지정하게 됩니다.

 

아래 부분에 있는 추가(A) 버튼을 누르면 자동으로 매핑 시킬 항목이 추가됩니다.

a.      변수 이름            : 대입할 변수를 지정합니다. 미리 정해놓은 변수가 없는 경우 <새 변수..>를 이용해서 변수를 추가하면 됩니다.

b.      방향                    : Input, Output, ReturnValue를 지정합니다. 저장 프로시저인 경우, 출력되는 값이 있으면, Output 변수로 지정하면 됩니다.

c.      데이터 형식         : 매개 변수의 데이터 형식을 지정합니다.

d.      매개 변수 이름    : 기본 값으로 NewParameterName으로 들어가 있지만, 0, 1, 2, … 등과 같은 형식으로 바꿔줘야 합니다. , 첫 번째 ? 인 경우 0, 두 번째 ? 인 경우 1로 설정해야 제대로 변수 매핑이 이루어져 작업이 수행됩니다.

 

 

 

C. 결과 집합

 

 

결과 집합 탭은 쿼리 수행 후, 출력되는 결과가 있는 경우, 이 결과 값을 저장하는 부분을 지정합니다.

 

일반 탭에서 ResultSet 속성이 없음으로 지정된 경우, 결과 집합 탭의 버튼들은 비활성화 되며, 단일 행 또는 전체 결과 집합, XML로 지정된 경우 활성화 됩니다.

단일 행으로 ResultSet 속성을 지정한 경우, 결과 이름에는 해당 컬럼 명을, 변수 이름에는 값을 저장할 변수를 지정합니다.

전체 결과 집합이나 XMLResultSet 속성을 지정한 경우, 반드시 결과 이름은 0 으로 지정해 줘야 하며, 결과를 저장할 변수의 유형은 전체 결과 집합인 경우에는 Object 형으로, XML형인 경우에는 String 형으로 지정해야 합니다.

 

반응형

+ Recent posts