OLE DB 원본

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

OLE DB 원본은 데이터베이스 테이블, 뷰 또는 SQL 명령을 사용하여 다양한 OLE DB 호환 관계형 데이터베이스에서 데이터를 추출합니다. 예를 들어 OLE DB 원본은 Microsoft Office Access 또는 SQL Server 데이터베이스의 테이블에서 데이터를 추출할 수 있습니다.

참고 항목

데이터 원본이 Microsoft Office Excel 2007인 경우 데이터 원본에는 이전 버전의 Excel과 다른 연결 관리자가 필요합니다. 자세한 내용은 Excel 통합 문서에 대한 커넥트 참조하세요.

OLE DB 원본은 데이터를 추출하기 위한 4가지 데이터 액세스 모드를 제공합니다.

  • 테이블 또는 뷰

  • 변수에 지정된 테이블 또는 뷰입니다.

  • SQL 문의 결과입니다. 쿼리는 매개 변수가 있는 쿼리일 수 있습니다.

  • 변수에 저장된 SQL 문의 결과

참고 항목

SQL 문을 사용하여 임시 테이블의 결과를 반환하는 저장 프로시저를 호출하는 경우 WITH RESULT SETS 옵션을 사용하여 결과 집합에 대한 메타데이터를 정의합니다.

매개 변수가 있는 쿼리를 사용하는 경우 변수를 매개 변수에 매핑하여 SQL 문의 개별 매개 변수에 값을 지정할 수 있습니다.

이 원본은 OLE DB 연결 관리자를 사용하여 데이터 원본에 연결하고 연결 관리자는 사용할 OLE DB 공급자를 지정합니다. 자세한 내용은 OLE DB 연결 관리자 참조하세요.

또한 Integration Services 프로젝트는 OLE DB 연결 관리자를 만들 수 있는 데이터 원본 개체를 제공하여 OLE DB 원본에서 데이터 원본 및 데이터 원본 뷰를 사용할 수 있도록 합니다.

OLE DB 공급자에 따라 OLE DB 원본에 몇 가지 제한 사항이 적용됩니다.

  • Oracle용 Microsoft OLE DB 공급자는 Oracle 데이터 형식 BLOB, CLOB, NCLOB, BFILE 또는 UROWID를 지원하지 않으며, OLE DB 원본은 이러한 데이터 형식의 열이 포함된 테이블에서 데이터를 추출할 수 없습니다.

  • IBM OLE DB DB2 공급자 및 Microsoft OLE DB DB2 공급자는 저장 프로시저를 호출하는 SQL 명령을 사용할 수 없습니다. 이러한 종류의 명령을 사용하면 OLE DB 원본에서 열 메타데이터를 만들 수 없으므로 데이터 흐름에서 OLE DB 원본을 따르는 데이터 흐름 구성 요소가 열 데이터를 사용할 수 없으며 데이터 흐름의 실행이 실패합니다.

OLE DB 원본에는 하나의 일반 출력과 하나의 오류 출력이 있습니다.

매개 변수가 있는 SQL 문 사용

OLE DB 원본은 SQL 문을 사용하여 데이터를 추출할 수 있습니다. 문은 SELECT 또는 EXEC 문일 수 있습니다.

OLE DB 원본은 OLE DB 연결 관리자를 사용하여 데이터를 추출하는 데이터 원본에 연결합니다. OLE DB 연결 관리자가 사용하는 공급자 및 연결하는 RDBMS(관계형 데이터베이스 관리 시스템)에 따라 매개 변수 명명 및 나열 작업에 적용되는 규칙이 달라집니다. 매개 변수 이름이 RDBMS에서 반환되는 경우 매개 변수 이름을 사용하여 매개 변수 목록의 매개 변수를 SQL 문의 매개 변수에 매핑할 수 있습니다. 그렇지 않으면 매개 변수가 매개 변수 목록의 서수 위치에 의해 SQL 문의 매개 변수에 매핑됩니다. 지원되는 매개 변수 이름의 형식은 공급자에 따라 다릅니다. 예를 들어 일부 공급자는 변수 또는 열 이름을 사용해야 하는 반면, 일부 공급자는 0 또는 Param0과 같은 기호 이름을 사용해야 합니다. SQL 문에 사용할 매개 변수 이름에 대한 자세한 내용은 공급자별 설명서를 참조하세요.

OLE DB 연결 관리자를 사용하는 경우에는 OLE DB 원본이 OLE DB Provider를 통해 매개 변수 정보를 파생할 수 없으므로 매개 변수가 있는 하위 쿼리를 사용할 수 없습니다. 그러나 식을 사용하여 매개 변수 값을 쿼리 문자열에 연결하고 원본의 SqlCommand 속성을 설정할 수 있습니다. SSIS 디자이너에서는 OLE DB 원본 편집기 대화 상자를 사용하여 OLE DB 원본을 구성하고 쿼리 매개 변수 설정 대화 상자의 변수에 매개 변수매핑합니다.

서수 위치를 사용하여 매개 변수 지정

매개 변수 이름이 반환되지 않으면 매개 변수가 쿼리 매개 변수 설정 대화 상자의 매개 변수 목록에 나열되는 순서는 런타임에 매핑되는 매개 변수 마커를 제어합니다. 목록의 첫 번째 매개 변수는 SQL 문의 첫 번째 ?에 매핑되고 SQL 문에서 두 번째 ?에 대한 두 번째 명령문 등입니다.

다음 SQL 문은 데이터베이스의 Product 테이블에서 행을 AdventureWorks2022 선택합니다. 매핑 목록의 첫 번째 매개 변수는 Color 열에 대한 첫 번째 매개 변수에 매핑되며, 두 번째 매개 변수는 Size 열에 매핑됩니다.

SELECT * FROM Production.Product WHERE Color = ? AND Size = ?

매개 변수 이름은 영향을 주지 않습니다. 예를 들어 매개 변수 이름이 적용되는 열과 같지만 매개 변수 목록에 올바른 서수 위치에 배치되지 않는 경우 런타임에 발생하는 매개 변수 매핑은 매개 변수 이름이 아닌 매개 변수의 서수 위치를 사용합니다.

EXEC 명령을 사용하려면 일반적으로 프로시저의 매개 변수 값을 매개 변수 이름으로 제공하는 변수의 이름을 사용해야 합니다.

이름을 사용하여 매개 변수 지정

실제 매개 변수 이름이 RDBMS에서 반환되는 경우 SELECT 및 EXEC 문에서 사용하는 매개 변수는 이름으로 매핑됩니다. 매개 변수 이름은 SELECT 문 또는 EXEC 문에서 실행하는 저장 프로시저가 예상하는 이름과 일치해야 합니다.

다음 SQL 문은 데이터베이스에서 사용할 수 있는 uspGetWhereUsedProductID 저장 프로시저를 AdventureWorks2022 실행합니다.

EXEC uspGetWhereUsedProductID ?, ?

저장 프로시저에는 변수 @StartProductID@CheckDate매개 변수 값을 제공해야 합니다. 매핑 목록에 매개 변수가 나타나는 순서는 상관없으며 @을 포함한 매개 변수 이름이 저장 프로시저의 변수 이름과 일치하기만 하면 됩니다.

변수에 매개 변수 매핑

매개 변수는 런타임에 매개 변수 값을 제공하는 변수에 매핑됩니다. 이 변수는 일반적으로 사용자 정의 변수이지만 Integration Services에서 제공하는 시스템 변수를 사용할 수도 있습니다. 사용자 정의 변수를 사용하는 경우에는 매핑된 매개 변수가 참조하는 열의 데이터 형식과 호환되는 형식으로 데이터 형식을 설정합니다. 자세한 내용은 Integration Services(SSIS) 변수를 참조 하세요.

OLE DB 원본 문제 해결

OLE DB 원본이 외부 데이터 공급자에 대해 만드는 호출을 기록할 수 있습니다. 이 로깅 기능을 사용하여 OLE DB 원본이 수행하는 외부 데이터 원본의 데이터 로드 문제를 해결할 수 있습니다. OLE DB 원본이 외부 데이터 공급자에 대해 하는 호출을 기록하려면 패키지 로깅을 사용하도록 설정하고 패키지 수준에서 진단 이벤트를 선택합니다. 자세한 내용은 패키지 실행을 위한 문제 해결 도구를 참조하세요.

OLE DB 원본 구성

프로그래밍 방식으로 또는 SSIS 디자이너를 통해 속성을 설정할 수 있습니다.

고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.

Oracle 커넥트ors를 사용하는 SSIS

OLE DB 원본 편집기(연결 관리자 페이지)

OLE DB 원본 편집기 대화 상자의 연결 관리자 페이지를 사용하여 원본에 대한 OLE DB 연결 관리자를 선택합니다. 이 페이지를 사용하면 데이터베이스에서 테이블이나 뷰를 선택할 수도 있습니다.

참고 항목

Microsoft Office Excel 2007을 사용하는 데이터 원본에서 데이터를 로드하려면 OLE DB 원본을 사용합니다. Excel 원본을 사용하여 Excel 2007 데이터 원본에서 데이터를 로드할 수 없습니다. 자세한 내용은 OLE DB 연결 관리자 구성을 참조하세요.

Microsoft Office Excel 2003 이하를 사용하는 데이터 원본에서 데이터를 로드하려면 Excel 원본을 사용합니다. 자세한 내용은 Excel 원본 편집기(연결 관리자 페이지)를 참조하세요.

참고 항목

OLE DB 원본의 CommandTimeout 속성은 OLE DB 원본 편집기에서 사용할 수 없지만 고급 편집기 사용하여 설정할 수 있습니다. 이 속성에 대한 자세한 내용은 OLE DB 사용자 지정 속성의 Excel 원본 섹션을 참조하세요.

OLE DB 원본 편집기(연결 관리자 페이지)를 엽니다.

  1. SSDT(SQL Server Data Tools)의 Integration Services 패키지에 OLE DB 원본을 추가합니다.

  2. 원본 구성 요소를 마우스 오른쪽 단추로 클릭하고 편집을 클릭하면 됩니다.

  3. 연결 관리자 클릭합니다.

정적 옵션

OLE DB 연결 관리자
목록에서 기존 연결 관리자를 선택하거나 새로 만들기를 클릭하여 새 연결을 만듭니다.

New
OLE DB 연결 관리자 구성 대화 상자를 사용하여 새 연결 관리자를 만듭니다.

데이터 액세스 모드
원본에서 데이터를 선택하는 방법을 지정합니다.

옵션 설명
테이블 또는 뷰 OLE DB 데이터 원본의 테이블 또는 뷰에서 데이터를 검색합니다.
테이블 이름 또는 뷰 이름 변수 변수에서 테이블 또는 뷰 이름을 지정합니다.

관련 정보:패키지에서 변수 사용
SQL 명령 SQL 쿼리를 사용하여 OLE DB 데이터 원본에서 데이터를 검색합니다.
변수를 사용한 SQL 명령 변수에 SQL 쿼리 텍스트를 지정합니다.

미리 보기
데이터 뷰 대화 상자를 사용하여 결과를 미리 봅니 다. 미리 보기 는 최대 200개의 행을 표시할 수 있습니다.

참고 항목

데이터를 미리 보면 CLR 사용자 정의 형식의 열에 데이터가 포함되지 않습니다. 대신 <값이 너무 커서 표시할 수 없습니다> 또는 System.Byte[] 값이 표시됩니다. 전자는 SQL OLE DB 공급자를 사용하여 데이터 원본에 액세스할 때 표시되고, 후자는 SQL Server Native Client 공급자를 사용할 때 표시됩니다.

데이터 액세스 모드 동적 옵션

데이터 액세스 모드 = 테이블 또는 뷰

테이블 또는 뷰의 이름
데이터 원본에서 사용할 수 있는 테이블 또는 뷰 목록에서 테이블 또는 뷰의 이름을 선택합니다.

데이터 액세스 모드 = 테이블 이름 또는 뷰 이름 변수

변수 이름
테이블 또는 뷰의 이름이 들어 있는 변수를 선택합니다.

데이터 액세스 모드 = SQL 명령

SQL 명령 텍스트
SQL 쿼리의 텍스트를 입력하거나, 쿼리 빌드를 클릭하여 쿼리를 작성하거나, 찾아보기를 클릭하여 쿼리 텍스트가 포함된 파일을 찾습니다.

매개 변수
?을 사용하여 매개 변수가 있는 쿼리를 입력한 경우 쿼리 텍스트에서 매개 변수 자리 표시자로 쿼리 매개 변수 설정 대화 상자를 사용하여 쿼리 입력 매개 변수를 패키지 변수에 매핑합니다.

빌드 쿼리
쿼리 작성기 대화 상자를 사용하여 SQL 쿼리를 시각적으로 생성합니다.

찾아보기
열기 대화 상자를 사용하여 SQL 쿼리 텍스트가 포함된 파일을 찾을 수 있습니다.

쿼리 구문 분석
쿼리 텍스트의 구문을 확인합니다.

데이터 액세스 모드 = 변수를 사용한 SQL 명령

변수 이름
SQL 쿼리 텍스트가 포함된 변수를 선택합니다.

OLE DB 원본 편집기(열 페이지)

OLE DB 원본 편집기 대화 상자의 페이지를 사용하여 출력 열을 각 외부(원본) 열에 매핑합니다.

옵션

사용 가능한 외부 열
데이터 원본에서 사용 가능한 외부 열 목록을 봅니다. 이 테이블을 사용하여 열을 추가하거나 삭제할 수 없습니다.

외부 열
외부(원본) 열을 이 원본의 데이터를 사용하는 구성 요소를 구성할 때 표시되는 순서대로 봅니다. 먼저 테이블에서 선택한 열을 지우고 목록에서 다른 순서로 외부 열을 선택하여 이 순서를 변경할 수 있습니다.

출력 열
각 출력 열에 고유한 이름을 제공합니다. 기본값은 선택한 외부(원본) 열의 이름입니다. 그러나 고유한 설명이 포함된 이름을 선택할 수 있습니다. 제공한 이름은 SSIS 디자이너에 표시됩니다.

OLE DB 원본 편집기(오류 출력 페이지)

OLE DB 원본 편집기 대화 상자의 오류 출력 페이지를 사용하여 오류 처리 옵션을 선택하고 오류 출력 열에 속성을 설정할 수 있습니다.

옵션

입/출력
데이터 원본의 이름을 표시합니다.


OLE DB 원본 편집기대화 상자의 연결 관리자 페이지에서 선택한 외부(원본) 열을 봅니다.

오류
오류가 발생할 경우 수행할 동작을 지정합니다. 오류 무시, 행 리디렉션 또는 구성 요소 실패를 지정할 수 있습니다.

관련 항목:데이터 오류 처리

잘림
잘림이 발생할 때 발생하는 작업을 지정합니다. 오류를 무시하거나 행을 리디렉션하거나 구성 요소를 실패합니다.

설명
오류에 대한 설명을 표시합니다.

이 값을 선택한 셀로 설정
오류나 잘림 발생 시 선택한 모든 셀에 수행할 동작을 지정합니다. 오류 무시, 행 리디렉션 또는 구성 요소 실패를 지정할 수 있습니다.

적용
선택한 셀에 오류 처리 옵션을 적용합니다.

참고 항목

OLE DB 대상
Integration Services(SSIS) 변수
데이터 흐름