반응형

데이터 흐름 원본

 

데이터 흐름 원본은 작업에서 사용할 데이터 원본을 지정하는 부분입니다. 대부분의 원본은 SSIS연결 관리자에 있는 연결을 사용합니다. 이러한 방식은 각각의 흐름마다 연결을 따로 만들어 주는 대신 하나의 동일한 원본을 재사용할 수 있는 장점이 있으며, 또한 만약 원본 소스가 변경될 때 연결 관리자에 있는 연결 개체의 속성만 변경해 주면 되는 장점이 있습니다. 데이터 흐름 영역에서는 기본적으로 6개의 데이터 원본이 제공되며, 필요에 따라 사용자는 원본 개체를 만들어 사용할 수 있습니다. 또한 변환 작업스크립트 구성 요소에서 원본 기능을 구현할 수 있습니다. 이와 관련해서는 추후에 다루도록 하겠습니다.

 

 

 

OLE DB 원본

OLE DB 원본은 가장 일반적인 데이터 원본 형태이며, OLE DB 연결을 이용하는 매우 다양한 형태의 데이터 형태를 사용할 수 있습니다.

 

 

연결 관리자의 OLE DB 연결을 추가하거나, OLE DB 원본에서 직접 추가할 수 있습니다.

 

 

 

OLE DB 원본 편집기에서 OLE DB 연결을 지정하고, 데이터 액세스 모드(A) 부분에서 데이터의 형태를 지정합니다.

지정할 수 있는 데이터 액세스 모드는 다음과 같습니다.

Ÿ           테이블 또는 뷰 데이터를 읽어올 테이블이나 뷰 이름을 지정합니다.

Ÿ           테이블 이름 또는 뷰 이름 변수 - SSIS의 변수에 대상 테이블이나 뷰의 이름을 저장하고, 이 변수를 지정할 수도 있습니다. 예를 들어 [사용자::테이블명] 이라는 SSIS 변수에 [dbo].[Data_20060815]라는 값을 저장한 후, 이 변수를 지정하는 방식입니다.

Ÿ           SQL 명령 테이블이나 뷰 대신 사용자가 지정한 SQL 쿼리를 입력할 수 있습니다. 예를 들어, [Person].[Address] 테이블을 지정하는 대신,
                         
SELECT AddressID, City, PostalCode FROM [Person].[Address] WHERE StateProvinceID = '79'
형태로 직접 SQL 쿼리를 지정할 수 있습니다.

Ÿ           변수를 사용한 SQL 명령 변수에 원본으로 사용할 SQL 쿼리를 저장한 후, 이 변수를 지정합니다.

 

 

탭에서는 원본에서 사용할 열을 지정하며, 필요한 경우, 열 이름을 변경할 수도 있습니다. 예를 들어, 테이블에 있는 TransactionID 라는 열을 TID라고 변경해서 사용하고자 할 때, 출력 열 부분에서 변경할 수도 있습니다.

데이터 원본을 사용할 때에는, 반드시 변환 과정에서 사용하는 열만 지정하도록 합니다. 모든 열을 지정하는 것이 개발하는 데에는 편리할 수 있지만, 데이터 처리 성능상에서는 매우 좋지 않습니다. 예를 들어, TransactionID ProductID만 사용할 경우, 사용 가능한 외부 열에서 두 열에 대해서만 체크하도록 합니다.

 

 

오류 출력 탭에서는 데이터를 읽어오는 과정에서 오류가 발생할 때 처리할 방법에 대한 설정을 할 수 있습니다. 각각의 열 단위로 설정이 가능하며, 오류잘림에 대해 처리 방법을 설정할 수 있습니다. 오류는 지정한 데이터의 범위를 벗어나는 큰 값이 입력되거나, 숫자형으로 설정된 열에 자형 데이터가 입력되는 것과 같은 에러 상황을 말하며, 잘림문자형의 데이터가 열의 크기보다 크게 입력이 되어 지정한 범위를 넘어서는 부분이 잘리는 것을 말합니다. 에러 처리 방법은 오류가 발생하면, 해당 행 데이터를 무시해 버리는 오류 무시가 있으며, 다른 패스로 에러 데이터를 전달하는 행 리디렉션, 해당 작업을 실패로 처리하도록 하는 구성 요소 실패가 있습니다. 한 번에 여러 행에 대해 동일한 처리방법을 지정할 경우, 컨트롤 키를 누른 상태로 각 오류 요소를 선택한 후, 아래에 있는 이 값을 선택한 셀에 설정(S)을 이용하여 설정하면 됩니다.

 

 

 

Excel 원본

Excel 원본은 엑셀 파일의 데이터 시트를 데이터 원본으로 지정하는 원본 개체입니다. 연결 관리자에 있는 Excel 연결을 사용하며, OLE DB 원본에서 테이블 또는 뷰를 지정하는 것과 같이 데이터가 있는 시트를 지정할 수도 있으며, 쿼리를 이용하여 데이터를 읽어오도록 지정할 수 있습니다.

 

 

 

플랫 파일 원본

플랫 파일 원본은 행 구분자 및 열 구분자로 구분된 텍스트 파일을 데이터 원본으로 지정하는 원본 개체입니다. 열 구분의 경우, 쉼표(,)나 탭(Tab)으로 구분되는 경우도 있으며, 고정 폭으로 저장되어 있을 수도 있습니다. 고정 폭 형태의 데이터는 보통 메인프레임 등에서 발생되는 데이터 형태이며, 연결 관리자플랫 파일 연결에서 각 열의 폭을 설정할 수 있습니다. 플랫 파일 원본 편집기에서 연결 관리자의 플랫 파일 연결을 지정한 후, OLE DB 원본에서와 같이 탭에서 읽어올 열을 지정할 수 있습니다. 열 구분자나 행 구분자, 첫 번째 행 열 머리글 설정 등과 같은 세부적인 사항은 모두 연결 관리자에서 설정하기 때문에, 플랫 파일 원본에서는 사용할 열을 지정하는 것 외에는 특별히 설정할 사항은 없습니다.

 

 

 

원시 파일 원본

원시 파일 원본 SSIS에서 신속한 데이터 처리를 수행할 수 있도록 최적화 된 형태의 플랫 파일 원본입니다. 원시 파일은 SSIS의 데이터 흐름 대상 중, 원시 파일 대상을 이용하여 만들 수 있으며, 일반 텍스트 파일과 같이 사용할 수는 없습니다. 데이터를 읽기 위한 메타 정보가 파일에 포함된 형태이기 때문에, SSIS에서는 데이터를 읽기 위한 해독 단계를 줄일 수 있어서 플랫 파일 원본에 비해 읽는 속도가 빠릅니다. 하지만, 단점으로는 SSIS 외에서는 이 데이터 형태를 사용할 수 없다는 점입니다. 만약, 모든 데이터 처리 프로세스가 SSIS로 수행이 되며, 텍스트 형태로 데이터를 넘겨주고 받아야 하는 경우라면, 이 형태를 이용하는 것이 효과적일 수 있습니다.

 

 

 

XML 원본

XML 원본OLE DB 원본과 같이 다양한 형태의 데이터를 읽어올 수 있는 원본 개체입니다. 단순한 XML 파일 뿐만 아니라, 로컬 서버 또는HTTP UNC를 이용한 원격 서버의 XML 데이터를 읽어올 수도 있습니다. XML 파일이나, HTTP, UNC 등을 이용한 원격지의 XML 데이터를

지정한 후에는, XSD(XML Schema Definition) 파일을 지정해줘야 합니다. XSD 파일은 XSD 생성 버튼을 이용하여 생성할 수도 있으며, 인라인 스키마를 사용하는 경우 지정하지 않아도 됩니다. 열 탭에서 사용할 열을 지정하는 것은 다른 원본과 동일합니다.

 

 

DataReader 원본

DataReader 원본 .NET 공급자의 데이터를 사용하며 데이터 흐름에서 이 데이터를 사용할 수 있게 합니다. 연결 관리자에서 .NET 공급자에 속한 데이터 연결을 지정한 후, 고급 DataReader 원본 편집기구성 요소 속성 탭에 있는 SqlCommand 부분에서 원본으로 사용할 데이터의 쿼리를 지정합니다.

 

 

 

 

 

반응형

+ Recent posts