ODBC 흐름 구성 요소ODBC Flow Components

이 항목에서는 SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS)This topic describes the concepts necessary for creating an ODBC data flow using SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS)

SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) 용 Connector for ODBC(Open Database Connectivity) by Attunity는 SSIS 개발자가 데이터를 ODBC 지원 데이터베이스로 로드하거나 해당 데이터베이스에서 언로드하는 패키지를 쉽게 만드는 데 도움이 됩니다.The Connector for Open Database Connectivity (ODBC) by Attunity for SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) helps SSIS developers easily create packages that load and unload data from ODBC-supported databases.

ODBC Connector는 SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS)의 컨텍스트에서 데이터를 ODBC 지원 데이터베이스로 로드하거나 해당 데이터베이스에서 언로드할 때 최적의 성능을 얻기 위해 디자인되었습니다.The ODBC Connector is designed to achieve optimal performance when loading data into or unloading data from an ODBC-supported database in the context of SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS).

이점Benefits

SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) 용 ODBC 원본 및 ODBC 대상은 데이터를 ODBC 지원 데이터베이스로 로드하거나 해당 데이터베이스에서 언로드하는 프로젝트에서 SSIS를 위한 경쟁 우위를 제공합니다.The ODBC source and ODBC destination for SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) provides a competitive edge for SSIS in projects dealing with loading data into or unloading data from ODBC-supported databases.

ODBC 원본과 ODBC 대상 모두 ODBC 사용 데이터베이스와의 고성능 데이터 통합을 가능하게 만듭니다.Both the ODBC source and ODBC destination enable high performance data integration with ODBC-enabled databases. 두 구성 요소 모두 이 바인딩 모드를 지원하는 고기능 ODBC 공급자를 위해 행 단위 매개 변수 배열 바인딩과 함께 작동하도록 구성하고 저기능 ODBC 공급자를 위해 단일 행 매개 변수 바인딩과 함께 작동하도록 구성할 수 있습니다.Both components can be configured to work with row-wise parameter array bindings for high-functioning ODBC providers that support this mode of binding and single-row parameter bindings for low-functioning ODBC providers.

ODBC 원본 및 대상 시작Getting Started with the ODBC Source and Destination

SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS)를 사용하는 패키지를 설정하려면 먼저 다음을 사용할 수 있는지 확인해야 합니다.Before you can set up packages that use SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS), you must make sure that the following are available.

  • ODBC 원본ODBC Source

  • ODBC 대상ODBC Destination

    ODBC 원본 및 ODBC 대상을 사용하면 쉽게 데이터를 로드 및 언로드하고 ODBC 지원 원본 데이터베이스에서 ODBC 지원 대상 데이터베이스로 데이터를 전송할 수 있습니다.The ODBC source and ODBC destination provide an easy way to unload and load data and transfer data from an ODBC-supported source database to an ODBC-supported destination database.

    원본 또는 대상을 사용하여 데이터를 로드 또는 언로드하려면 SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) 에서 새 SQL Server Data ToolsSQL Server Data Tools프로젝트를 엽니다.To use the source or destination to load or unload data, open a new SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) Project in the SQL Server Data ToolsSQL Server Data Tools. 그런 다음 원본 또는 대상을 SQL Server Data ToolsSQL Server Data Tools의 디자인 화면으로 끌어 옵니다.Then drag the source or destination onto the design surface of the SQL Server Data ToolsSQL Server Data Tools.

  • ODBC 원본 구성 요소는 원본 ODBC 지원 데이터베이스에서 데이터를 읽습니다.The ODBC source component reads data from the source ODBC-supported database.

    ODBC 원본을 임의의 대상에 연결하거나 SSIS가 지원하는 구성 요소를 변환할 수 있습니다.You can connect the ODBC source to any destination or transform component supported by SSIS.

    참고 항목:See also:

    ODBC 원본ODBC Source

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

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

  • ODBC 대상은 ODBC 지원 데이터베이스로 데이터를 로드합니다.The ODBC destination loads data into an ODBC-supported database. 대상을 임의의 원본에 연결하거나 SSIS가 지원하는 구성 요소를 변환합니다.You connect the destination to any source or transform component supported by SSIS.

    참고 항목:See also:

    ODBC 대상ODBC Destination

    ODBC 대상 편집기(연결 관리자 페이지)ODBC Destination Editor (Connection Manager Page)

    ODBC 대상 편집기(오류 출력 페이지)ODBC Destination Editor (Error Output Page)

운영 시나리오Operating Scenarios

이 섹션에서는 ODBC 원본 및 대상 구성 요소의 주된 용도 중 일부를 설명합니다.This section describes some of the main uses for the ODBC source and destination components.

SQL Server 테이블에서 임의의 ODBC 지원 데이터베이스 테이블로 데이터 대량 복사Bulk Copy Data from SQL Server tables to any ODBC-Supported database table

구성 요소를 사용하여 하나 이상의 SQL ServerSQL Server 테이블에서 단일 ODBC 지원 데이터베이스 테이블로 데이터를 대량 복사할 수 있습니다.You can use the components to bulk copy data from one or more SQL ServerSQL Server tables to a single ODBC-supported database table.

다음 예에서는 SQL ServerSQL Server 테이블에서 데이터를 추출하여 DB2 테이블로 로드하는 SSIS 데이터 흐름 태스크를 만드는 방법을 보여 줍니다.The following example shows how to create an SSIS Data Flow Task that extracts data from a SQL ServerSQL Server table and loads it into a DB2 table.

  • SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) 에서 SQL Server Data ToolsSQL Server Data Tools프로젝트를 만듭니다.Create an SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) Project in the SQL Server Data ToolsSQL Server Data Tools.

  • 복사할 데이터가 포함된 SQL ServerSQL Server 데이터베이스에 연결하는 OLE DB 연결 관리자를 만듭니다.Create an OLE DB connection manager that connects to the SQL ServerSQL Server database that contains the data you want to copy.

  • 로컬 또는 원격 DB2 데이터베이스를 가리키는 DSN이 지정된 로컬에 설치된 DB2 ODBC 드라이버를 사용하는 ODBC 연결 관리자를 만듭니다.Create an ODBC connection manager that uses a locally installed DB2 ODBC driver with a DSN pointing to a local or remote DB2 database. 이 데이터베이스는 SQL ServerSQL Server 데이터베이스의 데이터가 로드되는 위치입니다.This database is where the data from the SQL ServerSQL Server database is loaded.

  • OLE DB 원본을 디자인 화면으로 끌어 온 다음 SQL ServerSQL Server 데이터베이스와 추출할 데이터가 포함된 테이블에서 데이터를 가져오도록 원본을 구성합니다.Drag an OLE DB source to the design surface, then configure the source to get the data from the SQL ServerSQL Server database and table with the data you are going to extract. 이전에 만든 OLE DB 연결 관리자를 사용합니다.Use the OLE DB connection manager you created previously.

  • ODBC 대상을 디자인 화면으로 끌어 오고 원본 출력을 ODBC 대상에 연결한 다음 SQL ServerSQL Server 데이터베이스에서 추출한 데이터가 포함된 DB2 테이블로 데이터를 로드하도록 대상을 구성합니다.Drag an ODBC destination to the design surface, connect the source output to the ODBC destination, then configure the destination to load the data into the DB2 table with the data you extract from the SQL ServerSQL Server database. 이전에 만든 ODBC 연결 관리자를 사용합니다.Use the ODBC connection manager you created previously.

SQL 지원 데이터베이스 테이블에서 임의의 SQL Server 테이블로 데이터 대량 복사Bulk Copy Data from ODBC-supported database tables to any SQL Server table

구성 요소를 사용하여 하나 이상의 ODBC 지원 데이터베이스 테이블에서 단일 SQL ServerSQL Server 데이터베이스 테이블로 데이터를 대량 복사할 수 있습니다.You can use the components to bulk copy data from one or more ODBC-supported database tables to a single SQL ServerSQL Server database table.

다음 예에서는 Sybase 데이터베이스 테이블에서 데이터를 추출하여 SQL ServerSQL Server 데이터베이스 테이블로 로드하는 SSIS 데이터 흐름 태스크를 만드는 방법을 보여 줍니다.The following example shows how to create an SSIS Data Flow Task that extracts data from a Sybase database table and loads it into a SQL ServerSQL Server database table.

  • 다음에서 SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) 프로젝트를 만듭니다. SQL Server Data ToolsSQL Server Data ToolsCreate an SQL Server 2017 Integration Services(SSIS)SQL Server 2017 Integration Services (SSIS) Project in the SQL Server Data ToolsSQL Server Data Tools

  • 로컬 또는 원격 Sybase 데이터베이스를 가리키는 DSN이 지정된 로컬에 설치된 Sybase ODBC 드라이버를 사용하는 ODBC 연결 관리자를 만듭니다.Create an ODBC connection manager that uses a locally installed Sybase ODBC driver with a DSN pointing to a local or remote Sybase database. 이 데이터베이스는 데이터가 추출되는 위치입니다.This database is where the data is extracted.

  • 데이터를 로드할 SQL ServerSQL Server 데이터베이스에 연결하는 OLE DB 연결 관리자를 만듭니다.Create an OLE DB connection manager that connects to the SQL ServerSQL Server database where you want to load the data.

  • ODBC 원본을 디자인 화면으로 끌어 온 다음 복사할 데이터가 포함된 Sybase 테이블에서 데이터를 가져오도록 원본을 구성합니다.Drag an ODBC source to the design surface, then configure the source to get the data from the Sybase table with the data you are going to copy. 이전에 만든 ODBC 연결 관리자를 사용합니다.Use the ODBC connection manager you created previously.

  • OLE DB 대상을 디자인 화면으로 끌어 오고 원본 출력을 OLE DB 대상에 연결한 다음 Sybase 데이터베이스에서 추출하는 데이터가 포함된 SQL ServerSQL Server 테이블로 데이터를 로드하도록 대상을 구성합니다.Drag an OLE DB destination to the design surface, connect the source output to the OLE DB destination, then configure the destination to load the data into the SQL ServerSQL Server table with the data you extract from the Sybase database. 이전에 만든 OLE DB 연결 관리자를 사용합니다.Use the OLE DB connection manager you created previously.

지원되는 데이터 형식Supported Data Types

ODBC 대량 SSIS 구성 요소는 큰 개체(CLOB 및 BLOB)에 대한 지원을 포함하여 모든 기본 제공 ODBC 데이터 형식에 대한 지원을 제공합니다.The ODBC Bulk SSIS components support all built-in ODBC data types, including support for large objects (CLOBs and BLOBs).

ODBC 3.8 사양에 설명된 대로 확장 가능한 C 형식에 대한 데이터 형식 지원은 없습니다. 다음 표에서는 각 ODBC SQL 형식에 사용되는 SSIS 데이터 형식을 설명합니다.There is no data type support for extensible C types as described in the ODBC 3.8 specifications.The following table describes which SSIS data types are used for each ODBC SQL type. SSIS 개발자는 필요한 데이터 변환 작업의 성능에 영향을 주지 않으면서 기본 매핑을 무시하고 입력/출력 열에 다른 SSIS 데이터 형식을 지정할 수 있습니다.An SSIS developer can override the default mapping and specify a different SSIS data type for input/output columns without impacting the performance for the required data conversions.

ODBC SQL 형식ODBC SQL Type SSIS 데이터 형식SSIS Data Type 설명Comments
SQL_BITSQL_BIT DT_BOOLDT_BOOL
SQL_TINYINTSQL_TINYINT DT_I1DT_I1

DT_UI1DT_UI1
ODBC 드라이버가 해당 SQL 데이터 형식에 대해 UNSIGNED_ATTRIBUTE를 SQL_TRUE로 설정하면 SQL 데이터 형식이 SSIS 부호 없는 형식(DT_UI1, DT_UI2, DT_UI4, DT_UI8)에 매핑됩니다.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_SMALLINTSQL_SMALLINT DT_I2DT_I2

DT_UI2DT_UI2
ODBC 드라이버가 해당 SQL 데이터 형식에 대해 UNSIGNED_ATTRIBUTE를 SQL_TRUE로 설정하면 SQL 데이터 형식이 SSIS 부호 없는 형식(DT_UI1, DT_UI2, DT_UI4, DT_UI8)에 매핑됩니다.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_INTEGERSQL_INTEGER DT_I4DT_I4

DTUI4DTUI4
ODBC 드라이버가 해당 SQL 데이터 형식에 대해 UNSIGNED_ATTRIBUTE를 SQL_TRUE로 설정하면 SQL 데이터 형식이 SSIS 부호 없는 형식(DT_UI1, DT_UI2, DT_UI4, DT_UI8)에 매핑됩니다.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_BIGINTSQL_BIGINT DT_I8DT_I8

DT_UI8DT_UI8
ODBC 드라이버가 해당 SQL 데이터 형식에 대해 UNSIGNED_ATTRIBUTE를 SQL_TRUE로 설정하면 SQL 데이터 형식이 SSIS 부호 없는 형식(DT_UI1, DT_UI2, DT_UI4, DT_UI8)에 매핑됩니다.SQL data types are mapped to SSIS unsigned types (DT_UI1, DT_UI2, DT_UI4, DT_UI8) when the ODBC driver sets the UNSIGNED_ATTRIBUTE to SQL_TRUE for that SQL data type.
SQL_DOUBLESQL_DOUBLE DT_R8DT_R8
SQL_FLOATSQL_FLOAT DT_R8DT_R8
SQL_REALSQL_REAL DT_R4DT_R4
SQL_NUMERIC(p,s)SQL_NUMERIC (p,s) DT_NUMERIC(p,s)DT_NUMERIC (p,s) P가 38보다 크거나 같고 S가 0보다 크거나 같으며 S가 P보다 작거나 같으면 숫자 데이터 형식이 DT_NUMERIC에 매핑됩니다.The numeric data type is mapped to DT_NUMERIC when P is greater than or equal to 38 and S is greater than or equal to 0 and S is less than or equal to P.
DT_R8DT_R8 다음 중 하나 이상이 참이면 숫자 데이터 형식이 DT_R8에 매핑됩니다.The numeric data type is mapped to DT_R8 when at least one of the following is true:

전체 자릿수가 38보다 큼Precision is greater than 38

소수 자릿수가 0보다 작음Scale is less than zero

소수 자릿수가 38보다 큼Scale is greater than 38

소수 자릿수가 전체 자릿수보다 큼Scale is greater than Precision
DT_CYDT_CY 숫자 데이터 형식이 money 데이터 형식으로 선언되면 숫자 데이터 형식이 DT_CY에 매핑됩니다.The numeric data type is mapped to DT_CY when it is declared as a money data type.
SQL_DECIMAL(p, s)SQL_DECIMAL (p,s) DT_NUMERIC(p,s)DT_NUMERIC (p,s) P가 38보다 크거나 같고 S가 0보다 크거나 같으며 S가 P보다 작거나 같으면 decimal 데이터 형식이 DT_NUMERIC에 매핑됩니다.The decimal data type is mapped to DT_NUMERIC when P is greater than or equal to 38 and S is greater than or equal to 0 and S is less than or equal to P.
DT_R8DT_R8 다음 중 하나 이상이 참이면 decimal 데이터 형식이 DT_R8에 매핑됩니다.The decimal data type is mapped to DT_R8 when at least one of the following is true:

전체 자릿수가 38보다 큼Precision is greater than 38

소수 자릿수가 0보다 작음Scale is less than zero

소수 자릿수가 38보다 큼Scale is greater than 38

소수 자릿수가 전체 자릿수보다 큼Scale is greater than Precision
DT_CYDT_CY decimal 데이터 형식이 money 데이터 형식으로 선언되면 decimal 데이터 형식이 DT_CY에 매핑됩니다.The decimal data type is mapped to DT_CY when it is declared as a money data type.
SQL_DATESQL_DATE

SQL_TYPE_DATESQL_TYPE_DATE
DT_DBDATEDT_DBDATE
SQL_TIMESQL_TIME

SQL_TYPE_TIMESQL_TYPE_TIME
DT_DBTIMEDT_DBTIME
SQL_TIMESTAMPSQL_TIMESTAMP

SQL_TYPE_TIMESTAMPSQL_TYPE_TIMESTAMP
DT_DBTIMESTAMPDT_DBTIMESTAMP

DT_DBTIMESTAMP2DT_DBTIMESTAMP2
소수 자릿수가 3보다 크면 SQL_TIMESTAMP 데이터 형식이 DT_DBTIMESTAMP2에 매핑됩니다.SQL_TIMESTAMP data types are mapped to DT_DBTIMESTAMP2 if scale is greater than 3. 다른 모든 경우에는 DT_DBTIMESTAMP에 매핑됩니다.In all other cases, they are mapped to DT_DBTIMESTAMP.
SQL_CHARSQL_CHAR

SQLVARCHARSQLVARCHAR
DT_STRDT_STR

DT_WSTRDT_WSTR

DT_TEXTDT_TEXT

DT_NTEXTDT_NTEXT
열 길이가 8000보다 작거나 같고 ExposeStringsAsUnicode 속성이 false이면 DT_STR이 사용됩니다.DT_STR is used if the column length is less than or equal to 8000 and the ExposeStringsAsUnicode property is false.

열 길이가 8000보다 작거나 같고 ExposeStringsAsUnicode 속성이 true이면 DT_WSTR이 사용됩니다.DT_WSTR is used if the column length is less than or equal to 8000 and the ExposeStringsAsUnicode property is true.

열 길이가 8000보다 크고 ExposeStringsAsUnicode 속성이 false이면 DT_TEXT가 사용됩니다.DT_TEXT is used if the column length is greater than 8000 and the ExposeStringsAsUnicode property is false.

열 길이가 8000보다 크고 ExposeStringsAsUnicode 속성이 true이면 DT_NTEXT가 사용됩니다.DT_NTEXT is used if the column length is greater than 8000 and the ExposeStringsAsUnicode property is true.
SQL_LONGVARCHARSQL_LONGVARCHAR DT_TEXTDT_TEXT

DT_NTEXTDT_NTEXT
ExposeStringsAsUnicode 속성이 true이면 DT_NTEXT가 사용됩니다.DT_NTEXT is used if the ExposeStringsAsUnicode property is true.
SQL_WCHARSQL_WCHAR

SQL_WVARCHARSQL_WVARCHAR
DT_WSTRDT_WSTR

DT_NTEXTDT_NTEXT
열 길이가 4000보다 작거나 같으면 DT_WSTR이 사용됩니다.DT_WSTR is used if the column length is less than or equal to 4000.

열 길이가 4000보다 크면 DT_NTEXT가 사용됩니다.DT_NTEXT is used if the column length is greater than 4000.
SQL_WLONGVARCHARSQL_WLONGVARCHAR DT_NTEXTDT_NTEXT
SQL_BINARYSQL_BINARY DT_BYTEDT_BYTE

DT_IMAGEDT_IMAGE
열 길이가 8000보다 작거나 같으면 DT_BYTES가 사용됩니다.DT_BYTES is used if the column length is less than or equal to 8000.

열 길이가 8000보다 크면 DT_IMAGE가 사용됩니다.DT_IMAGE if the column length is greater than 8000.
SQL_LONGVARBINARYSQL_LONGVARBINARY DT_IMAGEDT_IMAGE
SQL_GUIDSQL_GUID DT_GUIDDT_GUID
SQL_INTERVAL_YEARSQL_INTERVAL_YEAR

SQL_INTERVAL_MONTHSQL_INTERVAL_MONTH

SQL_INTERVAL_DAYSQL_INTERVAL_DAY

SQL_INTERVAL_HOURSQL_INTERVAL_HOUR

SQL_INTERVAL_MINUTESQL_INTERVAL_MINUTE

SQL_INTERVAL_SECONDSQL_INTERVAL_SECOND

SQL_INTERVAL_YEAR_TO_MONTHSQL_INTERVAL_YEAR_TO_MONTH

SQL_INTERVAL_DAY_TO_HOURSQL_INTERVAL_DAY_TO_HOUR

SQL_INTERVAL_DAY_TO_MINUTESQL_INTERVAL_DAY_TO_MINUTE

SQL_INTERVAL_DAY_TO_SECONDSQL_INTERVAL_DAY_TO_SECOND

SQL_INTERVAL_HOUR_TO_MINUTESQL_INTERVAL_HOUR_TO_MINUTE

SQL_INTERVAL_HOUR_TO_SECONDSQL_INTERVAL_HOUR_TO_SECOND

SQL_INTERVAL_MINUTE_TO_SECONDSQL_INTERVAL_MINUTE_TO_SECOND
DT_WSTRDT_WSTR
공급자별 데이터 형식Provider Specific Data Types DT_BYTESDT_BYTES

DT_IMAGEDT_IMAGE
열 길이가 8000보다 작거나 같으면 DT_BYTES가 사용됩니다.DT_BYTES is used if the column length is less than or equal to 8000.

열 길이가 0이거나 8000보다 크면 DT_IMAGE가 사용됩니다.DT_IMAGE is used if the column length is zero or greater than 8000.

섹션 내용In This Section