조회 변환Lookup Transformation

조회 변환은 입력 열의 데이터를 참조 데이터 집합의 열과 조인하여 조회합니다.The Lookup transformation performs lookups by joining data in input columns with columns in a reference dataset. 조회를 사용하면 공통 열의 값을 기반으로 하는 관련 테이블의 추가 정보에 액세스할 수 있습니다.You use the lookup to access additional information in a related table that is based on values in common columns.

참조 데이터 집합은 캐시 파일, 기존 테이블이나 뷰, 새 테이블 또는 SQL 쿼리의 결과일 수 있습니다.The reference dataset can be a cache file, an existing table or view, a new table, or the result of an SQL query. 조회 변환은 OLE DB 연결 관리자 또는 캐시 연결 관리자를 사용하여 참조 데이터 집합에 연결합니다.The Lookup transformation uses either an OLE DB connection manager or a Cache connection manager to connect to the reference dataset. 자세한 내용은 OLE DB Connection ManagerCache Connection Manager을 참조하세요.For more information, see OLE DB Connection Manager and Cache Connection Manager

다음과 같은 방법으로 조회 변환을 구성할 수 있습니다.You can configure the Lookup transformation in the following ways:

  • 사용하려는 연결 관리자를 선택합니다.Select the connection manager that you want to use. 데이터베이스에 연결하려면 OLE DB 연결 관리자를 선택합니다.If you want to connect to a database, select an OLE DB connection manager. 캐시 파일에 연결하려면 캐시 연결 관리자를 선택합니다.If you want to connect to a cache file, select a Cache connection manager.

  • 참조 데이터 집합이 포함된 테이블 또는 뷰를 지정합니다.Specify the table or view that contains the reference dataset.

  • SQL 문을 지정하여 참조 데이터 집합을 생성합니다.Generate a reference dataset by specifying an SQL statement.

  • 입력과 참조 데이터 집합 간의 조인을 지정합니다.Specify joins between the input and the reference dataset.

  • 참조 데이터 집합의 열을 조회 변환 출력에 추가합니다.Add columns from the reference dataset to the Lookup transformation output.

  • 캐싱 옵션을 구성합니다.Configure the caching options.

    조회 변환은 OLE DB 연결 관리자에 대해 다음과 같은 데이터베이스 공급자를 지원합니다.The Lookup transformation supports the following database providers for the OLE DB connection manager:

  • SQL ServerSQL Server

  • OracleOracle

  • DB2DB2

    조회 변환은 변환 입력 값과 참조 데이터 집합 값 간에 동등 조인을 수행합니다.The Lookup transformation tries to perform an equi-join between values in the transformation input and values in the reference dataset. 동등 조인을 사용하는 경우 변환 입력의 각 행이 참조 데이터 집합의 행과 하나 이상 일치해야 합니다. 동등 조인을 사용할 수 없는 경우 조회 변환은 다음 동작 중 하나를 수행합니다.(An equi-join means that each row in the transformation input must match at least one row from the reference dataset.) If an equi-join is not possible, the Lookup transformation takes one of the following actions:

  • 참조 데이터 집합에 일치하는 항목이 없으면 조인이 발생하지 않습니다.If there is no matching entry in the reference dataset, no join occurs. 기본적으로 조회 변환은 일치하는 항목이 없는 행을 오류로 간주합니다.By default, the Lookup transformation treats rows without matching entries as errors. 하지만 이러한 행을 불일치 항목 출력으로 리디렉션하도록 조회 변환을 구성할 수 있습니다.However, you can configure the Lookup transformation to redirect such rows to a no match output. 자세한 내용은 조회 변환 편집기(일반 페이지)조회 변환 편집기(오류 출력 페이지)를 참조하세요.For more information, see Lookup Transformation Editor (General Page) and Lookup Transformation Editor (Error Output Page).

  • 참조 테이블에 일치하는 항목이 여러 개 있을 경우 조회 변환은 조회 쿼리에서 반환된 첫 번째 일치 항목만 반환합니다.If there are multiple matches in the reference table, the Lookup transformation returns only the first match returned by the lookup query. 일치하는 항목이 여러 개 발견되면 변환이 모든 참조 데이터 집합을 캐시에 로드하도록 구성된 경우에만 조회 변환에서 오류 또는 경고가 발생합니다.If multiple matches are found, the Lookup transformation generates an error or warning only when the transformation has been configured to load all the reference dataset into the cache. 이 경우 변환이 캐시를 채울 때 여러 개의 일치 항목이 발견되면 조회 변환에서 경고가 발생합니다.In this case, the Lookup transformation generates a warning when the transformation detects multiple matches as the transformation fills the cache.

    복합 조인을 사용하면 변환 입력의 여러 열을 참조 데이터 집합의 열에 조인할 수 있습니다.The join can be a composite join, which means that you can join multiple columns in the transformation input to columns in the reference dataset. 이 변환은 DT_R4, DT_R8, DT_TEXT, DT_NTEXT 또는 DT_IMAGE를 제외한 모든 데이터 형식의 조인 열을 지원합니다.The transformation supports join columns with any data type, except for DT_R4, DT_R8, DT_TEXT, DT_NTEXT, or DT_IMAGE. 자세한 내용은 Integration Services Data Types을 참조하세요.For more information, see Integration Services Data Types.

    일반적으로 참조 데이터 집합의 값이 변환 출력에 추가됩니다.Typically, values from the reference dataset are added to the transformation output. 예를 들어 조회 변환은 입력 열의 값을 사용하여 테이블에서 제품 이름을 추출한 다음 변환 출력에 제품 이름을 추가할 수 있습니다.For example, the Lookup transformation can extract a product name from a table using a value from an input column, and then add the product name to the transformation output. 참조 테이블의 값은 열 값을 대체하거나 새 열에 추가될 수 있습니다.The values from the reference table can replace column values or can be added to new columns.

    조회 변환에서 수행하는 조회는 대/소문자를 구분합니다.The lookups performed by the Lookup transformation are case sensitive. 데이터의 대/소문자 차이로 인한 조회 오류를 방지하려면 먼저 문자표 변환을 사용하여 데이터를 대문자 또는 소문자로 변환합니다.To avoid lookup failures that are caused by case differences in data, first use the Character Map transformation to convert the data to uppercase or lowercase. 그런 다음 참조 테이블을 생성하는 SQL 문에 UPPER 또는 LOWER 함수를 포함시킵니다.Then, include the UPPER or LOWER functions in the SQL statement that generates the reference table. 자세한 내용은 문자표 변환, UPPER(Transact-SQL)LOWER(Transact-SQL)를 참조하세요.For more information, see Character Map Transformation, UPPER (Transact-SQL), and LOWER (Transact-SQL).

    조회 변환에는 다음과 같은 입력 및 출력이 있습니다.The Lookup transformation has the following inputs and outputs:

  • 입력.Input.

  • 일치 항목 출력.Match output. 일치 항목 출력은 참조 데이터 집합과 하나 이상의 항목이 일치하는 변환 입력 행을 처리합니다.The match output handles the rows in the transformation input that match at least one entry in the reference dataset.

  • 불일치 항목 출력.No Match output. 불일치 항목 출력은 참조 데이터 집합과 하나의 항목도 일치하지 않는 입력 행을 처리합니다.The no match output handles rows in the input that do not match at least one entry in the reference dataset. 일치하는 항목이 없는 행을 오류로 처리하도록 조회 변환을 구성하면 해당 행이 오류 출력으로 리디렉션됩니다.If you configure the Lookup transformation to treat the rows without matching entries as errors, the rows are redirected to the error output. 그렇지 않으면 변환이 이러한 행을 불일치 항목 출력으로 리디렉션합니다.Otherwise, the transformation would redirect those rows to the no match output.

  • 오류 출력.Error output.

참조 데이터 집합 캐싱Caching the Reference Dataset

메모리 내 캐시는 참조 데이터 집합과 이러한 데이터를 인덱싱하는 해시 테이블을 저장합니다.An in-memory cache stores the reference dataset and stores a hash table that indexes the data. 캐시는 패키지 실행이 완료될 때까지 메모리에 남아 있습니다.The cache remains in memory until the execution of the package is completed. 캐시를 캐시 파일(.caw)로 저장할 수 있습니다.You can persist the cache to a cache file (.caw).

캐시를 파일로 저장하면 시스템에서 캐시를 더 빠르게 로드할 수 있습니다.When you persist the cache to a file, the system loads the cache faster. 따라서 조회 변환 및 패키지의 성능도 향상됩니다.This improves the performance of the Lookup transformation and the package. 캐시 파일을 사용할 때는 데이터베이스에 있는 현재 데이터가 아닌 다른 데이터를 사용하고 있다는 점을 유념하십시오.Remember, that when you use a cache file, you are working with data that is not as current as the data in the database.

캐시를 파일로 저장할 경우의 추가 이점은 다음과 같습니다.The following are additional benefits of persisting the cache to a file:

  • 여러 패키지에서 캐시 파일을 공유합니다. 자세한 내용은 **캐시 연결 관리자 변환을 사용하여 전체 캐시 모드에서 조회 변환 구현을 참조하세요.Share the cache file between multiple packages. For more information, see** Implement a Lookup Transformation in Full Cache Mode Using the Cache Connection Manager .

  • 패키지와 함께 캐시 파일을 배포합니다.Deploy the cache file with a package. 그러면 데이터를 여러 컴퓨터에서 사용할 수 있습니다.You can then use the data on multiple computers. 자세한 내용은 조회 변환에 대한 캐시 만들기 및 배포를 참조하세요.For more information, see Create and Deploy a Cache for the Lookup Transformation.

  • 원시 파일 원본을 사용하여 캐시 파일에서 데이터를 읽습니다.Use the Raw File source to read data from the cache file. 그러면 다른 데이터 흐름 구성 요소를 사용하여 데이터를 변환하거나 이동할 수 있습니다.You can then use other data flow components to transform or move the data. 자세한 내용은 Raw File Source을 참조하세요.For more information, see Raw File Source.

    참고

    캐시 연결 관리자는 원시 파일 대상을 사용하여 캐시 파일을 만들거나 수정하도록 지원하지 않습니다.The Cache connection manager does not support cache files that are created or modified by using the Raw File destination.

  • 파일 시스템 태스크를 사용하여 캐시 파일에서 작업을 수행하고 특성을 설정합니다.Perform operations and set attributes on the cache file by using the File System task. 자세한 내용은 File System Task를 참조하십시오.For more information, see and File System Task.

    캐싱 옵션은 다음과 같습니다.The following are the caching options:

  • 조회 변환이 실행되기 전에 테이블, 뷰 또는 SQL 쿼리를 사용하여 참조 데이터 집합이 생성되고 캐시에 로드됩니다.The reference dataset is generated by using a table, view, or SQL query and loaded into cache, before the Lookup transformation runs. OLE DB 연결 관리자를 사용하여 데이터 집합에 액세스할 수 있습니다.You use the OLE DB connection manager to access the dataset.

    이 캐싱 옵션은 SQL Server 2005 Integration Services(SSIS)SQL Server 2005 Integration Services (SSIS)의 조회 변환에서 제공되는 전체 캐싱 옵션과 호환됩니다.This caching option is compatible with the full caching option that is available for the Lookup transformation in SQL Server 2005 Integration Services(SSIS)SQL Server 2005 Integration Services (SSIS).

  • 조회 변환이 실행되기 전에 데이터 흐름의 연결된 데이터 원본 또는 캐시 파일로부터 참조 데이터 집합이 생성되고 캐시에 로드됩니다.The reference dataset is generated from a connected data source in the data flow or from a cache file, and is loaded into cache before the Lookup transformation runs. 캐시 연결 관리자 및 캐시 변환(선택 사항)을 사용하여 데이터 집합에 액세스할 수 있습니다.You use the Cache connection manager, and, optionally, the Cache transformation, to access the dataset. 자세한 내용은 Cache Connection ManagerCache Transform를 참조하세요.For more information, see Cache Connection Manager and Cache Transform.

  • 조회 변환이 실행되는 동안 테이블, 뷰 또는 SQL 쿼리를 사용하여 참조 데이터 집합이 생성됩니다.The reference dataset is generated by using a table, view, or SQL query during the execution of the Lookup transformation. 참조 데이터 집합과 일치하는 항목이 있는 행과 일치하는 항목이 없는 행이 캐시에 로드됩니다.The rows with matching entries in the reference dataset and the rows without matching entries in the dataset are loaded into cache.

    캐시의 메모리 크기를 초과하면 조회 변환은 자동으로 캐시에서 가장 사용 빈도가 낮은 행을 제거합니다.When the memory size of the cache is exceeded, the Lookup transformation automatically removes the least frequently used rows from the cache.

    이 캐싱 옵션은 SQL Server 2005 Integration Services(SSIS)SQL Server 2005 Integration Services (SSIS)의 조회 변환에서 제공되는 부분 캐싱 옵션과 호환됩니다.This caching option is compatible with the partial caching option that is available for the Lookup transformation in SQL Server 2005 Integration Services(SSIS)SQL Server 2005 Integration Services (SSIS).

  • 조회 변환이 실행되는 동안 테이블, 뷰 또는 SQL 쿼리를 사용하여 참조 데이터 집합이 생성됩니다.The reference dataset is generated by using a table, view, or SQL query during the execution of the Lookup transformation. 캐시되는 데이터는 없습니다.No data is cached.

    이 캐싱 옵션은 SQL Server 2005 Integration Services(SSIS)SQL Server 2005 Integration Services (SSIS)의 조회 변환에서 제공되는 캐싱 없음 옵션과 호환됩니다.This caching option is compatible with the no caching option that is available for the Lookup transformation in SQL Server 2005 Integration Services(SSIS)SQL Server 2005 Integration Services (SSIS).

    Integration ServicesIntegration ServicesSQL ServerSQL Server 의 문자열 비교 방식에는 차이가 있습니다. and SQL ServerSQL Server differ in the way they compare strings. 조회 변환이 실행되기 전에 참조 데이터 집합을 캐시로 로드하도록 조회 변환이 구성된 경우 Integration ServicesIntegration Services 는 캐시에서 조회 비교를 수행합니다.If the Lookup transformation is configured to load the reference dataset into cache before the Lookup transformation runs, Integration ServicesIntegration Services does the lookup comparison in the cache. 그렇지 않으면 조회 작업에서 매개 변수가 있는 SQL 문을 사용하고 SQL ServerSQL Server 에서 조회 비교를 수행합니다.Otherwise, the lookup operation uses a parameterized SQL statement and SQL ServerSQL Server does the lookup comparison. 이는 캐시 유형에 따라 조회 변환이 동일한 조회 테이블에서 다른 개수의 일치하는 항목을 반환할 수 있다는 것을 의미합니다.This means that the Lookup transformation might return a different number of matches from the same lookup table depending on the cache type.

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically. 자세한 내용은 다음 항목을 참조하십시오.For more details, see the following topics.

관련 항목:See Also

유사 항목 조회 변환 Fuzzy Lookup Transformation
용어 조회 변환 Term Lookup Transformation
데이터 흐름 Data Flow
Integration Services 변환Integration Services Transformations