OLE DB 대상OLE DB Destination

OLE DB 대상은 데이터베이스 테이블이나 뷰 또는 SQL 명령을 사용하여 다양한 OLE DB 호환 데이터베이스로 데이터를 로드합니다.The OLE DB destination loads data into a variety of OLE DB-compliant databases using a database table or view or an SQL command. 예를 들어 OLE DB 원본은 MicrosoftMicrosoft Office Access 및 SQL ServerSQL Server 데이터베이스의 테이블로 데이터를 로드할 수 있습니다.For example, the OLE DB source can load data into tables in MicrosoftMicrosoft Office Access and SQL ServerSQL Server databases.

참고

데이터 원본이 MicrosoftMicrosoft Office Excel 2007인 경우 이 데이터 원본에는 이전 버전의 Excel과 다른 연결 관리자가 필요합니다.If the data source is MicrosoftMicrosoft Office Excel 2007, the data source requires a different connection manager than earlier versions of Excel. 자세한 내용은 Excel 통합 문서에 연결을 참조하세요.For more information, see Connect to an Excel Workbook.

OLE DB 대상은 데이터 로드를 위한 5가지 데이터 액세스 모드를 제공합니다.The OLE DB destination provides five different data access modes for loading data:

  • 테이블 또는 뷰A table or view. 기존 테이블이나 뷰를 지정하거나 새 테이블을 만들 수 있습니다.You can specify an existing table or view, or you create a new table.

  • 빠른 로드 옵션을 사용하는 테이블 또는 뷰.A table or view using fast-load options. 기존 테이블을 지정하거나 새 테이블을 만들 수 있습니다.You can specify an existing table or create a new table.

  • 변수에 지정된 테이블 또는 뷰A table or view specified in a variable.

  • 빠른 로드 옵션을 사용하는 변수에 지정된 테이블 또는 뷰A table or view specified in a variable using fast-load options.

  • SQL 문의 결과The results of an SQL statement.

참고

OLE DB 대상은 매개 변수를 지원하지 않습니다.The OLE DB destination does not support parameters. 매개 변수가 있는 INSERT 문을 실행해야 하는 경우 OLE DB 명령 변환을 사용하십시오.If you need to execute a parameterized INSERT statement, consider the OLE DB Command transformation. 자세한 내용은 OLE DB Command Transformation을 참조하세요.For more information, see OLE DB Command Transformation.

OLE DB 대상에서 DBCS(더블바이트 문자 집합)를 사용하는 문자 집합이 로드되는 경우 데이터 액세스 모드에 빠른 로드 옵션이 사용되지 않고 OLE DB 연결 관리자에서 MicrosoftMicrosoft SQLOLEDB(OLE DB Provider for SQL ServerSQL Server )가 사용되는 경우 데이터가 손상될 수 있습니다.When the OLE DB destination loads data that uses a double-byte character set (DBCS), the data may be corrupted if the data access mode does not use the fast load option and if the OLE DB connection manager uses the MicrosoftMicrosoft OLE DB Provider for SQL ServerSQL Server (SQLOLEDB). DBCS 데이터의 무결성을 보장하려면 SQL ServerSQL Server Native Client를 사용하도록 OLE DB 연결 관리자를 구성하거나 테이블 또는 뷰 - 빠른 로드 또는 테이블 이름 또는 뷰 이름 변수 - 빠른 로드와 같은 빠른 로드 액세스 모드 중 하나를 사용해야 합니다.To ensure the integrity of DBCS data you should configure the OLE DB connection manager to use the SQL ServerSQL Server Native Client, or use one of the fast-load access modes: Table or view - fast load or Table name or view name variable - fast load. 두 옵션은 모두 OLE DB 대상 편집기 대화 상자에서 사용할 수 있습니다.Both options are available from the OLE DB Destination Editor dialog box. SSISSSIS 개체 모델을 프로그래밍하는 경우 AccessMode 속성을 FastLoad를 사용한 OpenRowset또는 변수와 FastLoad를 사용한 OpenRowset으로 설정해야 합니다.When programming the SSISSSIS object model, you should set the AccessMode property to OpenRowset Using FastLoad, or OpenRowset Using FastLoad From Variable.

참고

OLE DB 대상에서 데이터를 삽입할 대상 테이블을 만들기 위해 디자이너에서 OLE DB 대상 편집기 SSISSSIS 대화 상자를 사용하는 경우에는 새로 만든 테이블을 수동으로 선택해야 할 수도 있습니다.If you use the OLE DB Destination Editor dialog box in SSISSSIS Designer to create the destination table into which the OLE DB destination inserts data, you may have to select the newly created table manually. DB2용 OLE DB 공급자와 같은 OLE DB 공급자에서 테이블 이름에 스키마 식별자를 자동으로 추가하는 경우에는 이렇게 테이블을 수동으로 선택해야 합니다.The need for manual selection occurs when an OLE DB provider, such as the OLE DB provider for DB2, automatically adds schema identifiers to the table name.

참고

OLE DB 대상 편집기 대화 상자를 사용하여 생성하는 CREATE TABLE 문은 대상 유형에 따라 수정해야 합니다.The CREATE TABLE statement that the OLE DB Destination Editor dialog box generates may require modification depending on the destination type. 예를 들어 일부 대상은 CREATE TABLE 문에서 사용하는 데이터 형식을 지원하지 않습니다.For example, some destinations do not support the data types that the CREATE TABLE statement uses.

이 대상은 OLE DB 연결 관리자를 사용하여 데이터 원본에 연결하며 연결 관리자가 사용할 OLE DB 공급자를 지정합니다.This destination uses an OLE DB connection manager to connect to a data source and the connection manager specifies the OLE DB provider to use. 자세한 내용은 OLE DB Connection Manager를 참조하세요.For more information, see OLE DB Connection Manager.

또한 Integration ServicesIntegration Services 프로젝트는 OLE DB 연결 관리자를 만들 수 있는 데이터 원본 개체를 제공하여 OLE DB 대상에서 데이터 원본과 데이터 원본 뷰를 사용할 수 있게 합니다.An Integration ServicesIntegration Services project also provides the data source object from which you can create an OLE DB connection manager, to make data sources and data source views available to the OLE DB destination.

OLE DB 대상에는 입력 열과 대상 데이터 원본 열 사이의 매핑이 포함됩니다.An OLE DB destination includes mappings between input columns and columns in the destination data source. 입력 열을 모든 대상 열로 매핑할 필요는 없지만 입력 열이 대상 열에 매핑되지 않은 경우 대상 열의 속성에 따라 오류가 발생할 수 있습니다.You do not have to map input columns to all destination columns, but depending on the properties of the destination columns, errors can occur if no input columns are mapped to the destination columns. 예를 들어 대상 열에 Null 값이 허용되지 않는 경우에는 입력 열을 해당 열에 매핑해야 합니다.For example, if a destination column does not allow null values, an input column must be mapped to that column. 또한 매핑된 열의 데이터 형식이 호환되어야 합니다.In addition, the data types of mapped columns must be compatible. 예를 들어 문자열 데이터 형식의 입력 열은 숫자 데이터 형식의 대상 열로 매핑할 수 없습니다.For example, you cannot map an input column with a string data type to a destination column with a numeric data type.

OLE DB 대상에는 하나의 일반 입력과 하나의 오류 출력이 있습니다.The OLE DB destination has one regular input and one error output.

데이터 형식에 대한 자세한 내용은 Integration Services Data Types을 참조하세요.For more information about data types, see Integration Services Data Types.

빠른 로드 옵션Fast Load Options

OLE DB 대상에서 빠른 로드 데이터 액세스 모드를 사용하는 경우 대상에 대해 사용자 인터페이스 OLE DB 대상 편집기에서 다음과 같은 빠른 로드 옵션을 지정할 수 있습니다.If the OLE DB destination uses a fast-load data access mode, you can specify the following fast load options in the user interface, OLE DB Destination Editor, for the destination:

  • 가져온 데이터 파일에서 ID 값을 유지하거나 SQL ServerSQL Server에서 할당된 고유 값을 사용합니다.Keep identity values from the imported data file or use unique values assigned by SQL ServerSQL Server.

  • 대량 로드 작업 중에 발생한 Null 값을 유지합니다.Retain a null value during the bulk load operation.

  • 대상 테이블의 제약 조건을 검사하거나 대량 가져오기 작업을 검토합니다.Check constraints on the target table or view during the bulk import operation.

  • 대량 로드 작업이 지속되는 동안 테이블 수준 잠금을 획득합니다.Acquire a table-level lock for the duration of the bulk load operation.

  • 일괄 처리의 행 수 및 커밋 크기를 지정합니다.Specify the number of rows in the batch and the commit size.

    일부 빠른 로드 옵션은 OLE DB 대상의 특정 속성에 저장됩니다.Some fast load options are stored in specific properties of the OLE DB destination. 예를 들어 FastLoadKeepIdentity는 ID 값을 유지할지 여부를 지정하고, FastLoadKeepNulls는 Null 값을 유지할지 여부를 지정하며, FastLoadMaxInsertCommitSize는 일괄 처리로 커밋할 행 수를 지정합니다.For example, FastLoadKeepIdentity specifies whether to keep identify values, FastLoadKeepNulls specifies whether to keep null values, and FastLoadMaxInsertCommitSize specifies the number of rows to commit as a batch. 기타 빠른 로드 옵션은 쉼표로 구분된 목록으로 FastLoadOptions 속성에 저장됩니다.Other fast load options are stored in a comma-separated list in the FastLoadOptions property. OLE DB 대상에서 FastLoadOptions에 저장되고 OLE DB 대상 편집기 대화 상자에 나열되는 빠른 로드 옵션을 모두 사용할 경우 속성 값은 TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000으로 설정됩니다.If the OLE DB destination uses all the fast load options that are stored in FastLoadOptions and listed in the OLE DB Destination Editor dialog box, the value of the property is set to TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000. 값 1000은 대상이 1000개의 행을 일괄적으로 사용하도록 구성되었음을 나타냅니다.The value 1000 indicates that the destination is configured to use batches of 1000 rows.

참고

대상에서 제약 조건에 맞지 않아 오류가 발생하면 FastLoadMaxInsertCommitSize에 의해 정의된 행에 대한 전체 일괄 처리가 실패하게 됩니다.Any constraint failure at the destination causes the entire batch of rows defined by FastLoadMaxInsertCommitSize to fail.

OLE DB 대상 편집기 대화 상자에 표시된 빠른 로드 옵션 외에도 고급 편집기 대화 상자의 FastLoadOptions 속성에 옵션을 입력하여 다음과 같은 대량 로드 옵션을 사용하도록 OLE DB 대상을 구성할 수 있습니다.In addition to the fast load options exposed in the OLE DB Destination Editor dialog box,you can configure the OLE DB destination to use the following bulk load options by typing the options in FastLoadOptions property in the Advanced Editor dialog box.

빠른 로드 옵션Fast load option DescriptionDescription
KILOBYTES_PER_BATCHKILOBYTES_PER_BATCH 삽입할 크기(KB)를 지정합니다.Specifies the size in kilobytes to insert. 옵션은 폼 KILOBYTES_PER_BATCH = <양의 정수 값>합니다.The option has the form KILOBYTES_PER_BATCH = <positive integer value>.
FIRE_TRIGGERSFIRE_TRIGGERS 테이블 삽입에 대한 트리거 시작 여부를 지정합니다.Specifies whether triggers fire on the insert table. 이 옵션은 FIRE_TRIGGERS형식으로 입력합니다.The option has the form FIRE_TRIGGERS. 이 옵션이 있으면 트리거가 시작됨을 나타냅니다.The presence of the option indicates that triggers fire.
ORDERORDER 입력 데이터 저장 방식을 지정합니다.Specifies how the input data is sorted. 옵션은 폼 순서 <열 이름 > ASC | DESC입니다.The option has the form ORDER <column name> ASC|DESC. 열 수에 상관없이 나열할 수 있으며 정렬 순서를 포함할 수도 있습니다.Any number of columns may be listed and it is optional to include the sort order. 정렬 순서를 생략하면 삽입 작업에서는 데이터가 정렬되지 않은 것으로 간주합니다.If sort order is omitted, the insert operation assumes the data is unsorted.

참고: ORDER 옵션을 사용하여 테이블의 클러스터형 인덱스에 따라 입력 데이터를 정렬하면 성능을 개선할 수 있습니다.Note: Performance can be improved if you use the ORDER option to sort the input data according to the clustered index on the table.

Transact-SQLTransact-SQL 키워드는 일반적으로 대문자를 사용하여 입력하지만 키워드는 대/소문자를 구분하지 않습니다.The Transact-SQLTransact-SQL keywords are traditionally typed using uppercase letters, but the keywords are not case sensitive.

빠른 로드 옵션에 대한 자세한 내용은 BULK INSERT(Transact-SQL)를 참조하세요.To learn more about fast load options, see BULK INSERT (Transact-SQL).

OLE DB 대상 문제 해결Troubleshooting the OLE DB Destination

OLE DB 대상이 외부 데이터 공급자에 대해 수행하는 호출을 로깅할 수 있습니다.You can log the calls that the OLE DB destination makes to external data providers. 이 로깅 기능을 사용하면 OLE DB 대상이 외부 데이터 원본에 데이터를 저장할 때 발생하는 문제를 해결할 수 있습니다.You can use this logging capability to troubleshoot the saving of data to external data sources that the OLE DB destination performs. OLE DB 대상이 외부 데이터 공급자에 대해 수행하는 호출을 로깅하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다.To log the calls that the OLE DB destination makes to external data providers, enable package logging and select the Diagnostic event at the package level. 자세한 내용은 패키지 실행 문제 해결 도구를 참조하세요.For more information, see Troubleshooting Tools for Package Execution.

OLE DB 대상 구성Configuring the OLE DB Destination

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically.

OLE DB 대상 편집기 대화 상자에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.For more information about the properties that you can set in the OLE DB Destination Editor dialog box, click one of the following topics:

OLE DB 원본OLE DB Source

Integration Services(SSIS) 변수Integration Services (SSIS) Variables

데이터 흐름Data Flow