OLE DB 원본OLE DB Source

OLE DB 원본은 데이터베이스 테이블, 뷰 또는 SQL 명령을 사용하여 다양한 OLE DB 호환 관계형 데이터베이스에서 데이터를 추출합니다.The OLE DB source extracts data from a variety of OLE DB-compliant relational databases by using a database table, a view, or an SQL command. 예를 들어 OLE DB 원본은 MicrosoftMicrosoft Office Access 또는 SQL ServerSQL Server 데이터베이스의 테이블에서 데이터를 추출할 수 있습니다.For example, the OLE DB source can extract data from tables in MicrosoftMicrosoft Office Access or 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 원본은 데이터 추출을 위한 4가지 데이터 액세스 모델을 제공합니다.The OLE DB source provides four different data access modes for extracting data:

  • 테이블 또는 뷰A table or view.

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

  • SQL 문의 결과The results of an SQL statement. 쿼리는 매개 변수가 있는 쿼리일 수 있습니다.The query can be a parameterized query.

  • 변수에 저장된 SQL 문의 결과The results of an SQL statement stored in a variable.

참고

SQL 문을 사용하여 임시 테이블의 결과를 반환하는 저장 프로시저를 호출하는 경우 WITH RESULT SETS 옵션을 사용하여 결과 집합의 메타데이터를 정의합니다.When you use an SQL statement to invoke a stored procedure that returns results from a temporary table, use the WITH RESULT SETS option to define metadata for the result set.

매개 변수가 있는 쿼리를 사용하는 경우 변수를 매개 변수에 매핑하여 SQL 문의 개별 매개 변수에 값을 지정할 수 있습니다.If you use a parameterized query, you can map variables to parameters to specify the values for individual parameters in the SQL statements.

이 원본은 OLE DB 연결 관리자를 사용하여 데이터 원본에 연결하며 이 연결 관리자는 사용할 OLE DB Provider를 지정합니다.This source 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, making data sources and data source views available to the OLE DB source.

OLE DB Provider에 따라 OLE DB 원본에는 다음 몇 가지 제한이 적용됩니다.Depending on the OLE DB provider, some limitations apply to the OLE DB source:

  • Oracle용 MicrosoftMicrosoft OLE DB Provider는 Oracle 데이터 형식 BLOB, CLOB, NCLOB, BFILE 또는 UROWID를 지원하지 않으며 OLE DB 원본은 이러한 데이터 형식의 열이 포함된 테이블에서 데이터를 추출할 수 없습니다.The MicrosoftMicrosoft OLE DB provider for Oracle does not support the Oracle data types BLOB, CLOB, NCLOB, BFILE, OR UROWID, and the OLE DB source cannot extract data from tables that contain columns with these data types.

  • IBM OLE DB DB2 공급자와 MicrosoftMicrosoft OLE DB DB2 공급자는 저장 프로시저를 호출하는 SQL 명령의 사용을 지원하지 않습니다.The IBM OLE DB DB2 provider and MicrosoftMicrosoft OLE DB DB2 provider do not support using an SQL command that calls a stored procedure. 이러한 종류의 명령을 사용하면 OLE DB 원본에서 열 메타데이터를 만들 수 없으므로 데이터 흐름에서 OLE DB 원본을 따르는 데이터 흐름 구성 요소가 열 데이터를 사용할 수 없으며 데이터 흐름의 실행이 실패합니다.When this kind of command is used, the OLE DB source cannot create the column metadata and, as a result, the data flow components that follow the OLE DB source in the data flow have no column data available and the execution of the data flow fails.

    OLE DB 원본에는 하나의 일반 출력 및 하나의 오류 출력이 있습니다.The OLE DB source has one regular output and one error output.

매개 변수가 있는 SQL 문 사용Using Parameterized SQL Statements

OLE DB 원본은 SQL 문을 사용하여 데이터를 추출할 수 있습니다.The OLE DB source can use an SQL statement to extract data. 이 문은 SELECT 또는 EXEC 문일 수 있습니다.The statement can be a SELECT or an EXEC statement.

OLE DB 원본은 OLE DB 연결 관리자를 사용하여 데이터를 추출할 데이터 원본에 연결합니다.The OLE DB source uses an OLE DB connection manager to connect to the data source from which it extracts data. OLE DB 연결 관리자가 사용하는 공급자 및 연결하는 RDBMS(관계형 데이터베이스 관리 시스템)에 따라 매개 변수 명명 및 나열 작업에 적용되는 규칙이 달라집니다.Depending on the provider that the OLE DB connection manager uses and the Relational Database Management System (RDBMS) that the connection manager connects to, different rules apply to the naming and listing of parameters. RDBMS에서 매개 변수 이름을 반환하는 경우 매개 변수 이름을 사용하여 매개 변수 목록의 매개 변수를 SQL 문의 매개 변수에 매핑할 수 있습니다. 그렇지 않으면 매개 변수가 매개 변수 목록에서의 서수 위치별로 SQL 문의 매개 변수에 매핑됩니다.If the parameter names are returned from the RDBMS, you can use parameter names to map parameters in a parameter list to parameters in an SQL statement; otherwise, the parameters are mapped to the parameter in the SQL statement by their ordinal position in the parameter list. 지원되는 매개 변수 이름 유형은 공급자에 따라 달라집니다.The types of parameter names that are supported vary by provider. 예를 들어 일부 공급자의 경우 변수 또는 열 이름을 사용해야 하지만 0 또는 Param0과 같은 심볼 이름을 사용해야 하는 공급자도 있습니다.For example, some providers require that you use the variable or column names, whereas some providers require that you use symbolic names such as 0 or Param0. SQL 문에서 사용할 매개 변수 이름에 대한 자세한 내용은 공급자별 설명서를 참조하십시오.You should see the provider-specific documentation for information about the parameter names to use in SQL statements.

OLE DB 연결 관리자를 사용하는 경우에는 OLE DB 원본이 OLE DB Provider를 통해 매개 변수 정보를 파생할 수 없으므로 매개 변수가 있는 하위 쿼리를 사용할 수 없습니다.When you are use an OLE DB connection manager, you cannot use parameterized subqueries, because the OLE DB source cannot derive parameter information through the OLE DB provider. 하지만 식을 사용하여 매개 변수 값을 쿼리 문자열에 연결하고 원본의 SqlCommand 속성을 설정할 수 있습니다. SSISSSIS 디자이너에서 OLE DB 원본 편집기 대화 상자를 사용하여 OLE DB 원본을 구성하고 쿼리 매개 변수 설정 대화 상자에서 매개 변수를 변수에 매핑합니다.However, you can use an expression to concatenate the parameter values into the query string and to set the SqlCommand property of the source.In SSISSSIS Designer, you configure an OLE DB source by using the OLE DB Source Editor dialog box and map the parameters to variables in the Set Query Parameter dialog box.

서수 위치를 사용하여 매개 변수 지정Specifying Parameters by Using Ordinal Positions

매개 변수 이름이 반환되지 않는 경우 매개 변수가 쿼리 매개 변수 설정 대화 상자의 매개 변수 목록에 나열되는 순서에 따라 런타임에 매핑되는 대상 매개 변수 표식이 결정됩니다.If no parameter names are returned, the order in which the parameters are listed in the Parameters list in the Set Query Parameter dialog box governs which parameter marker they are mapped to at run time. 목록의 첫 번째 매개 변수는 SQL 문의 첫 번째 ?에 매핑되고The first parameter in the list maps to the first ? 두 번째 매개 변수는 두 번째 ?에 매핑되는 식입니다.in the SQL statement, the second to the second ?, and so on.

다음 SQL 문은 데이터베이스의 Product AdventureWorks2012AdventureWorks2012 테이블에서 행을 선택합니다.The following SQL statement selects rows from the Product table in the AdventureWorks2012AdventureWorks2012 database. 매핑 목록의 첫 번째 매개 변수는 Color 열의 첫 번째 매개 변수에 매핑되고 두 번째 매개 변수는 Size 열에 매핑됩니다.The first parameter in the Mappings list maps to the first parameter to the Color column, the second parameter to the Size column.

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

매개 변수 이름은 영향을 받지 않습니다.The parameter names have no effect. 예를 들어 매개 변수의 이름이 적용될 열의 이름과 같지만 해당 매개 변수가 매개 변수 목록의 올바른 서수 위치에 배치되어 있지 않은 경우 런타임에 매개 변수 매핑이 수행될 때는 매개 변수의 이름이 아니라 매개 변수의 서수 위치가 사용됩니다.For example, if a parameter is named the same as the column to which it applies, but not put in the correct ordinal position in the Parameters list, the parameter mapping that occurs at run time will use the ordinal position of the parameter, not the parameter name.

EXEC 명령을 사용하려면 일반적으로 프로시저의 매개 변수 값을 매개 변수 이름으로 제공하는 변수의 이름을 사용해야 합니다.The EXEC command typically requires that you use the names of the variables that provide parameter values in the procedure as parameter names.

이름을 사용하여 매개 변수 지정Specifying Parameters by Using Names

RDBMS에서 실제 매개 변수 이름을 반환하는 경우 SELECT 및 EXEC 문에서 사용하는 매개 변수가 이름별로 매핑됩니다.If the actual parameter names are returned from the RDBMS, the parameters used by a SELECT and EXEC statement are mapped by name. 매개 변수 이름은 SELECT 문이나 EXEC 문으로 실행되는 저장 프로시저에 필요한 이름과 일치해야 합니다.The parameter names must match the names that the stored procedure, run by the SELECT statement or the EXEC statement, expects.

다음 SQL 문은 데이터베이스에서 사용할 수 있는 uspGetWhereUsedProductID AdventureWorks2012AdventureWorks2012 저장 프로시저를 실행합니다.The following SQL statement runs the uspGetWhereUsedProductID stored procedure, available in the AdventureWorks2012AdventureWorks2012 database.

EXEC uspGetWhereUsedProductID ?, ?

이 저장 프로시저에는 매개 변수 값을 제공할 변수 @StartProductID@CheckDate가 필요합니다.The stored procedure expects the variables, @StartProductID and @CheckDate, to provide parameter values. 매핑 목록에 매개 변수가 나타나는 순서는 상관없으며The order in which the parameters appear in the Mappings list is irrelevant. @을 포함한 매개 변수 이름이 저장 프로시저의 변수 이름과 일치하기만 하면 됩니다.The only requirement is that the parameter names match the variable names in the stored procedure, including the @ sign.

변수에 매개 변수 매핑Mapping Parameters to Variables

매개 변수는 런타임에 매개 변수 값을 제공하는 변수에 매핑됩니다.The parameters are mapped to variables that provide the parameter values at run time. 변수는 일반적으로 사용자 정의 변수이지만 Integration ServicesIntegration Services 에서 제공하는 시스템 변수를 사용할 수도 있습니다.The variables are typically user-defined variables, although you can also use the system variables that Integration ServicesIntegration Services provides. 사용자 정의 변수를 사용하는 경우에는 매핑된 매개 변수가 참조하는 열의 데이터 형식과 호환되는 형식으로 데이터 형식을 설정합니다.If you use user-defined variables, make sure that you set the data type to a type that is compatible with the data type of the column that the mapped parameter references. 자세한 내용은 Integration Services(SSIS) 변수을 참조하세요.For more information, see Integration Services (SSIS) Variables.

OLE DB 원본 문제 해결Troubleshooting the OLE DB Source

OLE DB 원본이 외부 데이터 공급자에 대해 수행하는 호출을 로깅할 수 있습니다.You can log the calls that the OLE DB source makes to external data providers. 이 로깅 기능을 사용하면 OLE DB 원본이 외부 데이터 원본에서 데이터를 로드할 때 발생하는 문제를 해결할 수 있습니다.You can use this logging capability to troubleshoot the loading of data from external data sources that the OLE DB source performs. OLE DB 원본이 외부 데이터 공급자에 대해 수행하는 호출을 로깅하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다.To log the calls that the OLE DB source 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 Source

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

고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다.The Advanced Editor dialog box reflects the properties that can be set programmatically. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하세요.For more information about the properties that you can set in the Advanced Editor dialog box or programmatically, click one of the following topics:

social.technet.microsoft.com의 Wiki 문서 - Oracle 커넥터가 있는 SSISWiki article, SSIS with Oracle Connectors, on social.technet.microsoft.com.

OLE DB 원본 편집기(연결 관리자 페이지)OLE DB Source Editor (Connection Manager Page)

OLE DB 원본 편집기 대화 상자의 연결 관리자 페이지를 사용하여 원본의 OLE DB 연결 관리자를 선택할 수 있습니다.Use the Connection Manager page of the OLE DB Source Editor dialog box to select the OLE DB connection manager for the source. 이 페이지를 사용하면 데이터베이스에서 테이블이나 뷰를 선택할 수도 있습니다.This page also lets you select a table or view from the database.

참고

MicrosoftMicrosoft Office Excel 2007을 사용하는 데이터 원본에서 데이터를 로드하려면 OLE DB 원본을 사용하십시오.To load data from a data source that uses MicrosoftMicrosoft Office Excel 2007, use an OLE DB source. Excel 원본을 사용하여 Excel 2007 데이터 원본에서 데이터를 로드할 수 없습니다.You cannot use an Excel source to load data from an Excel 2007 data source. 자세한 내용은 Configure OLE DB Connection Manager을(를) 참조하세요.For more information, see Configure OLE DB Connection Manager.

MicrosoftMicrosoft Office Excel 2003 이전 버전을 사용하는 데이터 원본에서 데이터를 로드하려면 Excel 원본을 사용하십시오.To load data from a data source that uses MicrosoftMicrosoft Office Excel 2003 or earlier, use an Excel source. 자세한 내용은 Excel 원본 편집기(연결 관리자 페이지)를 참조하세요.For more information, see Excel Source Editor (Connection Manager Page).

참고

OLE DB 원본의 CommandTimeout 속성은 OLE DB 원본 편집기에서 사용할 수 없지만 고급 편집기를 사용하여 설정할 수 있습니다.The CommandTimeout property of the OLE DB source is not available in the OLE DB Source Editor, but can be set by using the Advanced Editor. 이 속성에 대한 자세한 내용은 OLE DB Custom Properties의 Excel 원본 섹션을 참조하십시오.For more information on this property, see the Excel Source section of OLE DB Custom Properties.

OLE DB 원본 편집기 (연결 관리자 페이지)를 엽니다.Open the OLE DB Source Editor (Connection Manager Page)

  1. Integration ServicesIntegration Services 에서 OLE DB 원본을 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에 추가합니다.Add the OLE DB source to the Integration ServicesIntegration Services package, in SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT).

  2. 원본 구성 요소를 마우스 오른쪽 단추로 클릭한 다음 편집을 클릭합니다.Right-click the source component and when click Edit.

  3. 연결 관리자를 클릭합니다.Click Connection Manager.

정적 옵션Static Options

OLE DB 연결 관리자OLE DB connection manager
목록에서 기존 연결 관리자를 선택하거나 새로 만들기를 클릭하여 새 연결을 만듭니다.Select an existing connection manager from the list, or create a new connection by clicking New.

새로 만들기New
OLE DB 연결 관리자 구성 대화 상자를 사용하여 새 연결 관리자를 만듭니다.Create a new connection manager by using the Configure OLE DB Connection Manager dialog box.

데이터 액세스 모드Data access mode
원본에서 데이터를 선택하는 방법을 지정합니다.Specify the method for selecting data from the source.

옵션Option DescriptionDescription
테이블 또는 뷰Table or view OLE DB 데이터 원본에 있는 테이블이나 뷰에서 데이터를 검색합니다.Retrieve data from a table or view in the OLE DB data source.
테이블 이름 또는 뷰 이름 변수Table name or view name variable 변수에 테이블 또는 뷰 이름을 지정합니다.Specify the table or view name in a variable.

관련 정보: 패키지에서 변수 사용Related information: Use Variables in Packages
SQL 명령SQL command SQL 쿼리를 사용하여 OLE DB 데이터 원본에서 데이터를 검색합니다.Retrieve data from the OLE DB data source by using a SQL query.
변수를 사용한 SQL 명령SQL command from variable 변수에 SQL 쿼리 텍스트를 지정합니다.Specify the SQL query text in a variable.

미리 보기Preview
데이터 보기 대화 상자를 사용하여 결과를 미리 봅니다.Preview results by using the Data View dialog box. 미리 보기 에는 최대 200개의 행이 표시될 수 있습니다.Preview can display up to 200 rows.

참고

데이터를 미리 보면 CLR 사용자 정의 형식의 열에 데이터가 포함되지 않습니다.When you preview data, columns with a CLR user-defined type do not contain data. 대신 값 <너무 커서 표시할 값 > 또는 System.Byte 표시 합니다.Instead the values <value too big to display> or System.Byte[] display. 전자는 SQL OLE DB 공급자를 사용하여 데이터 원본에 액세스하는 경우 표시되고 후자는 < SQL ServerSQL Server Native Client 공급자를 사용하는 경우 표시됩니다.The former displays when the data source is accessed using the SQL OLE DB provider, the latter when using the SQL ServerSQL Server Native Client provider.

데이터 액세스 모드 동적 옵션Data Access Mode Dynamic Options

데이터 액세스 모드 = 테이블 또는 뷰Data access mode = Table or view

테이블 또는 뷰 이름Name of the table or the view
데이터 원본의 사용 가능한 테이블 또는 뷰 목록에서 테이블 또는 뷰 이름을 선택합니다.Select the name of the table or view from a list of those available in the data source.

데이터 액세스 모드 = 테이블 이름 또는 뷰 이름 변수Data access mode = Table name or view name variable

변수 이름Variable name
테이블 또는 뷰 이름이 포함된 변수를 선택합니다.Select the variable that contains the name of the table or view.

데이터 액세스 모드 = SQL 명령Data access mode = SQL command

SQL 명령 텍스트SQL command text
SQL 쿼리 텍스트를 입력하고 쿼리 작성을 클릭하여 쿼리를 작성하거나 찾아보기를 클릭하여 쿼리 텍스트가 포함된 파일을 찾습니다.Enter the text of a SQL query, build the query by clicking Build Query, or locate the file that contains the query text by clicking Browse.

매개 변수Parameters
쿼리 텍스트에 ?를If you have entered a parameterized query by using ? 매개 변수 자리 표시자로 사용하여 매개 변수가 있는 쿼리를 입력한 경우 쿼리 매개 변수 설정 대화 상자를 사용하여 쿼리 입력 매개 변수를 패키지 변수에 매핑합니다.as a parameter placeholder in the query text, use the Set Query Parameters dialog box to map query input parameters to package variables.

Build queryBuild query
쿼리 작성기 대화 상자를 사용하여 시각적으로 SQL 쿼리를 생성할 수 있습니다.Use the Query Builder dialog box to construct the SQL query visually.

찾아보기Browse
열기 대화 상자를 사용하여 SQL 쿼리 텍스트가 포함된 파일을 찾을 수 있습니다.Use the Open dialog box to locate the file that contains the text of the SQL query.

쿼리 구문 분석Parse query
쿼리 텍스트의 구문을 확인합니다.Verify the syntax of the query text.

데이터 액세스 모드 = 변수를 사용한 SQL 명령Data access mode = SQL command from variable

변수 이름Variable name
SQL 쿼리 텍스트가 포함된 변수를 선택합니다.Select the variable that contains the text of the SQL query.

OLE DB 원본 편집기(열 페이지)OLE DB Source Editor (Columns Page)

OLE DB 원본 편집기 대화 상자의 페이지를 사용하여 출력 열을 각 외부(원본) 열에 매핑할 수 있습니다.Use the Columns page of the OLE DB Source Editor dialog box to map an output column to each external (source) column.

옵션Options

사용 가능한 외부 열Available External Columns
데이터 원본에서 사용 가능한 외부 열의 목록을 표시합니다.View the list of available external columns in the data source. 이 테이블을 사용하여 열을 추가하거나 삭제할 수 없습니다.You cannot use this table to add or delete columns.

외부 열External Column
이 원본의 데이터를 사용하는 구성 요소를 구성할 때 표시되는 순서로 외부(원본) 열을 표시합니다.View external (source) columns in the order in which you will see them when configuring components that consume data from this source. 이 순서는 먼저 테이블에서 선택된 열을 지운 다음 목록에서 다른 순서로 외부 열을 선택하여 변경할 수 있습니다.You can change this order by first clearing the selected columns in the table, and then selecting external columns from the list in a different order.

출력 열Output Column
각 출력 열에 고유한 이름을 지정합니다.Provide a unique name for each output column. 기본값은 선택한 외부(원본) 열의 이름이지만 설명이 포함된 고유 이름을 임의로 선택할 수 있습니다.The default is the name of the selected external (source) column; however, you can choose any unique, descriptive name. 제공한 이름은 SSIS 디자이너에 표시됩니다.The name provided will be displayed within the SSIS Designer.

OLE DB 원본 편집기(오류 출력 페이지)OLE DB Source Editor (Error Output Page)

OLE DB 원본 편집기 대화 상자의 오류 출력 페이지를 사용하여 오류 처리 옵션을 선택하고 오류 출력 열에 속성을 설정할 수 있습니다.Use the Error Output page of the OLE DB Source Editor dialog box to select error handling options and to set properties on error output columns.

옵션Options

입/출력Input/Output
데이터 원본의 이름을 표시합니다.View the name of the data source.

Column
OLE DB 원본 편집기 대화 상자의 연결 관리자페이지에서 선택한 외부(원본) 열을 표시합니다.View the external (source) columns that you selected on the Connection Manager page of the OLE DB Source Editordialog box.

오류Error
오류가 발생할 경우 수행할 동작을 지정합니다. 오류 무시, 행 리디렉션 또는 구성 요소 실패를 지정할 수 있습니다.Specify what should happen when an error occurs: ignore the failure, redirect the row, or fail the component.

관련 항목: 데이터 오류 처리Related Topics: Error Handling in Data

잘림Truncation
잘림이 발생할 경우 수행할 동작을 지정합니다. 오류 무시, 행 리디렉션 또는 구성 요소 실패를 지정할 수 있습니다.Specify what should happen when a truncation occurs: ignore the failure, redirect the row, or fail the component.

DescriptionDescription
오류에 대한 설명을 표시합니다.View the description of the error.

이 값을 선택한 셀에 설정Set this value to selected cells
오류나 잘림 발생 시 선택한 모든 셀에 수행할 동작을 지정합니다. 오류 무시, 행 리디렉션 또는 구성 요소 실패를 지정할 수 있습니다.Specify what should happen to all the selected cells when an error or truncation occurs: ignore the failure, redirect the row, or fail the component.

적용Apply
선택한 셀에 오류 처리 옵션을 적용합니다.Apply the error handling option to the selected cells.

관련 항목:See Also

OLE DB 대상 OLE DB Destination
Integration Services ( Ssis) 변수 Integration Services (SSIS) Variables
데이터 흐름Data Flow