OLE DB 대상은 데이터베이스 테이블 또는 뷰 또는 SQL 명령을 사용하여 다양한 OLE DB 규격 데이터베이스에 데이터를 로드합니다. 예를 들어 OLE DB 원본은 Microsoft Office Access 및 SQL Server 데이터베이스의 테이블에 데이터를 로드할 수 있습니다.
OLE DB 대상은 데이터를 로드하기 위한 5가지 데이터 액세스 모드를 제공합니다.
테이블 또는 뷰 기존 테이블 또는 뷰를 지정하거나 새 테이블을 만들 수 있습니다.
빠른 로드 옵션을 사용하는 테이블 또는 뷰입니다. 기존 테이블을 지정하거나 새 테이블을 만들 수 있습니다.
변수에 지정된 테이블 또는 뷰입니다.
빠른 로드 옵션을 사용하여 변수에 지정된 테이블 또는 뷰입니다.
SQL 문의 결과입니다.
비고
OLE DB 대상은 매개 변수를 지원하지 않습니다. 매개 변수가 있는 INSERT 문을 실행해야 하는 경우 OLE DB 명령 변환을 고려합니다. 자세한 내용은 OLE DB 명령을 참조하세요.
OLE DB 대상에서 DBCS(더블바이트 문자 집합)를 사용하는 데이터를 로드하는 경우 데이터 액세스 모드에서 빠른 로드 옵션을 사용하지 않고 OLE DB 연결 관리자가 MICROSOFT OLE DB Provider for SQL Server(SQLOLEDB)를 사용하는 경우 데이터가 손상될 수 있습니다. DBCS 데이터의 무결성을 보장하려면 SQL Server Native Client를 사용하도록 OLE DB 연결 관리자를 구성하거나 빠른 로드 액세스 모드( 테이블 또는 뷰 - 빠른 로드 또는 테이블이름 또는 뷰 이름 변수 - 빠른 로드) 중 하나를 사용해야 합니다. 두 옵션 모두 OLE DB 대상 편집기 대화 상자에서 사용할 수 있습니다. SSIS 개체 모델을 프로그래밍할 때 AccessMode 속성을 OpenRowset Using FastLoad또는 OpenRowset Using FastLoad From Variable.로 설정해야 합니다.
비고
SSIS 디자이너에서 OLE DB 대상 편집기 대화 상자를 사용하여 OLE DB 대상이 데이터를 삽입하는 대상 테이블을 만드는 경우 새로 만든 테이블을 수동으로 선택해야 할 수 있습니다. 수동 선택의 필요성은 DB2용 OLE DB 공급자와 같은 OLE DB 공급자가 테이블 이름에 스키마 식별자를 자동으로 추가하는 경우에 발생합니다.
비고
OLE DB 대상 편집기 대화 상자에서 생성하는 CREATE TABLE 문은 대상 유형에 따라 수정해야 할 수 있습니다. 예를 들어 일부 대상은 CREATE TABLE 문에서 사용하는 데이터 형식을 지원하지 않습니다.
이 대상은 OLE DB 연결 관리자를 사용하여 데이터 원본에 연결하고 연결 관리자는 사용할 OLE DB 공급자를 지정합니다. 자세한 내용은 OLE DB 연결 관리자를 참조하세요.
또한 Integration Services 프로젝트는 OLE DB 연결 관리자를 만들어 OLE DB 대상에서 데이터 원본 및 데이터 원본 뷰를 사용할 수 있도록 하는 데이터 원본 개체를 제공합니다.
OLE DB 대상에는 대상 데이터 원본의 입력 열과 열 간의 매핑이 포함됩니다. 입력 열을 모든 대상 열에 매핑할 필요는 없지만 대상 열의 속성에 따라 입력 열이 대상 열에 매핑되지 않은 경우 오류가 발생할 수 있습니다. 예를 들어 대상 열에 Null 값이 허용되지 않는 경우에는 입력 열을 해당 열에 매핑해야 합니다. 또한 매핑된 열의 데이터 형식은 호환되어야 합니다. 예를 들어 문자열 데이터 형식의 입력 열을 숫자 데이터 형식이 있는 대상 열에 매핑할 수 없습니다.
OLE DB 대상에는 하나의 일반 입력과 하나의 오류 출력이 있습니다.
데이터 형식에 대한 자세한 내용은 Integration Services 데이터 형식을 참조하세요.
빠른 로드 옵션
OLE DB 대상에서 빠른 로드 데이터 액세스 모드를 사용하는 경우 대상에 대해 사용자 인터페이스인 OLE DB 대상 편집기에서 다음 빠른 로드 옵션을 지정할 수 있습니다.
가져온 데이터 파일에서 ID 값을 유지하거나 SQL Server에서 할당한 고유 값을 사용합니다.
대량 로드 작업 중에 null 값을 유지합니다.
대량 가져오기 작업 중에 대상 테이블 또는 뷰에 대한 제약 조건을 확인합니다.
대량 로드 작업 기간 동안 테이블 수준 잠금을 설정합니다.
일괄 처리의 행 수와 커밋 크기를 지정합니다.
일부 빠른 로드 옵션은 OLE DB 대상의 특정 속성에 저장됩니다. 예를 들어 FastLoadKeepIdentity는 식별 값을 유지할지 여부를 지정하고 FastLoadKeepNull은 null 값을 유지할지 여부를 지정하고 FastLoadMaxInsertCommitSize는 일괄 처리로 커밋할 행 수를 지정합니다. 다른 빠른 로드 옵션은 FastLoadOptions 속성의 쉼표로 구분된 목록에 저장됩니다. OLE DB 대상에서 FastLoadOptions에 저장되고 OLE DB 대상 편집기 대화 상자에 나열된 모든 빠른 로드 옵션을 사용하는 경우 속성 값은 로 TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000설정됩니다. 값 1000은 대상이 1000개 행의 일괄 처리를 사용하도록 구성되었음을 나타냅니다.
비고
대상에서 제약 조건이 실패하면 FastLoadMaxInsertCommitSize에 정의된 행의 전체 일괄 처리가 실패합니다.
OLE DB 대상 편집기 대화 상자에 표시되는 빠른 로드 옵션 외에도 고급 편집기 대화 상자의 FastLoadOptions 속성에 옵션을 입력하여 다음 대량 로드 옵션을 사용하도록 OLE DB 대상을 구성할 수 있습니다.
| 빠른 로드 옵션 | 설명 |
|---|---|
| 일괄 처리당 킬로바이트 | 삽입할 크기를 킬로바이트 단위로 지정합니다. 옵션의 형식은 KILOBYTES_PER_BATCH = <양의 정수 값**>**입니다. |
| 화재_트리거 | 삽입된 테이블에서 트리거가 실행되는지 여부를 지정합니다. 옵션에 FIRE_TRIGGERS 양식이 있습니다. 해당 옵션이 있으면 트리거가 발생했음을 의미합니다. |
| 주문 | 입력 데이터를 정렬하는 방법을 지정합니다. 옵션은 ORDER <열 이름> ASC|DESC 형식으로 되어 있습니다. 열 수가 나열될 수 있으며 정렬 순서를 포함하는 것은 선택 사항입니다. 정렬 순서를 생략하면 삽입 작업은 데이터가 정렬되지 않은 것으로 가정합니다. 참고: ORDER 옵션을 사용하여 테이블의 클러스터형 인덱스로 입력 데이터를 정렬하면 성능이 향상될 수 있습니다. |
Transact-SQL 키워드는 일반적으로 대문자를 사용하여 입력되지만 키워드는 대/소문자를 구분하지 않습니다.
빠른 로드 옵션에 대한 자세한 내용은 BULK INSERT(Transact-SQL)를 참조하세요.
OLE DB 대상 문제 해결
OLE DB 대상이 외부 데이터 공급자에 대해 하는 호출을 기록할 수 있습니다. 이 로깅 기능을 사용하여 OLE DB 대상이 수행하는 외부 데이터 원본에 대한 데이터 저장 문제를 해결할 수 있습니다. OLE DB 대상이 외부 데이터 공급자에게 하는 호출을 기록하려면 패키지 로깅을 사용하도록 설정하고 패키지 수준에서 진단 이벤트를 선택합니다. 자세한 내용은 패키지 실행을 위한 문제 해결 도구를 참조하세요.
OLE DB 대상 구성
SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.
OLE DB 대상 편집기 대화 상자에서 설정할 수 있는 속성에 대한 자세한 내용은 다음 항목 중 하나를 클릭합니다.
고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요:
속성 설정 방법을 보려면 다음 항목 중 하나를 클릭하십시오.