SQL Server 가져오기 및 내보내기 마법사에서 데이터 형식 매핑Data Type Mapping in the SQL Server Import and Export Wizard

SQL ServerSQL Server 가져오기 및 내보내기 마법사에서는 새로운 대상 테이블 및 파일에서 열의 이름, 데이터 형식 및 데이터 형식 속성을 설정할 수 있지만 열 값에 대한 사용자 지정 변환을 지정할 수는 없습니다.In the SQL ServerSQL Server Import and Export Wizard, you can set the name, the data type, and the data type properties of columns in new destination tables and files, but you can't specify custom conversions for column values. 결과적으로, 원본-대상 간의 기본 제공 데이터 형식 매핑이 중요합니다.As a result, the built-in mapping of data types from source to destination is important.

마법사가 원본과 대상 간에 데이터 형식을 매핑하는 방법 How does the wizard map data types between source and destination?

마법사에서는 SQL ServerSQL Server Integration ServicesIntegration Services 에서 설치한 매핑 파일을 사용하여 데이터베이스 시스템 또는 버전 간에 데이터 형식을 매핑합니다.The wizard uses mapping files that are installed by SQL ServerSQL Server Integration ServicesIntegration Services to map data types from one database system or version to another. 예를 들어 SQL ServerSQL Server 데이터 형식을 Oracle 데이터 형식으로 매핑할 수 있습니다.For example, it can map from SQL ServerSQL Server data types to Oracle data types. 기본적으로 XML 형식의 매핑 파일은 다음 폴더에 설치됩니다.By default, the mapping files in XML format are installed in the following folders.

  • C:\Program Files\Microsoft SQL Server\130\DTSMappingFiles\ (64 비트용)C:\Program Files\Microsoft SQL Server\130\DTSMappingFiles\ (for 64-bit)
  • C:\Program 파일 (x86) \Microsoft SQL Server\130\DTSMappingFiles\ (32 비트)에 대 한 합니다.C:\Program Files (x86)\Microsoft SQL Server\130\DTSMappingFiles\ (for 32-bit).

    기존 매핑 파일을 편집하거나 새 매핑 파일을 폴더에 추가할 경우에는 SQL ServerSQL Server 가져오기 및 내보내기 마법사 또는 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) 를 닫았다가 다시 열어야 새 파일 또는 변경된 파일이 인식됩니다.If you edit an existing mapping file, or add a new mapping file to the folder, you have to close and reopen the SQL ServerSQL Server Import and Export Wizard or SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) to load the new or changed mapping file.

기존 매핑 파일을 변경할 수 있습니다.You can change an existing mapping file

비즈니스에서 데이터 형식 간에 다른 매핑을 필요로 하는 경우 매핑 파일을 업데이트하여 마법사가 사용하는 매핑을 변경할 수 있습니다.If your business requires different mappings between data types, you can update the mapping files to change the mappings used by the wizard. 예를 들어 SQL ServerSQL Server에서 DB2로 데이터를 전송할 때 SQL ServerSQL Server nchar 데이터 형식이 DB2 VARGRAPHIC 데이터 형식 대신 DB2 GRAPHIC 데이터 형식에 매핑되도록 하려면 SqlClientToIBMDB2.xml 매핑 파일에서 nchar 매핑을 변경하여 VARGRAPHIC 대신 GRAPHIC을 사용하도록 합니다.For example, if you want the SQL ServerSQL Server nchar data type to map to the DB2 GRAPHIC data type instead of the DB2 VARGRAPHIC data type when you transfer data from SQL ServerSQL Server to DB2, you can change the nchar mapping in the SqlClientToIBMDB2.xml mapping file to use GRAPHIC instead of VARGRAPHIC.

새 매핑 파일을 추가할 수 있습니다.You can add a new mapping file

Integration ServicesIntegration Services 는 원본 및 대상에 일반적으로 사용되는 조합 간의 매핑을 설치합니다. installs mappings between many commonly used combinations of source and destination. MappingFiles 디렉터리에 매핑 파일을 추가하여 추가 원본 및 대상을 지원할 수도 있습니다.You can also add new mapping files to the MappingFiles directory to support additional sources and destinations. 새 매핑 파일은 게시된 XSD 스키마를 따라야 하며 원본과 대상의 고유한 조합 간에 매핑해야 합니다.The new mapping files must conform to the published XSD schema and must map between a unique combination of source and destination. 매핑 파일용 스키마 DataTypeMapping.xsd여기에 게시됩니다.The schema for mapping files, DataTypeMapping.xsd, is published here.

예제 매핑 파일Sample mapping file

다음은 SQL Server 데이터 형식(또는 .Net Framework Data Provider for SQL Server에서 사용되는 데이터 형식)에서 Oracle 데이터 형식으로 매핑하는 XML 매핑 파일의 일부입니다.Here's a portion of the XML mapping file that maps from SQL Server data types (or, more specifically, from the data types used by the .Net Framework Data Provider for SQL Server) to Oracle data types. 예를 들어 SQL Server int 데이터 형식을 Oracle INTEGER 데이터 형식에 매핑할 수 있습니다.As one example, you can see that a SQL Server int data type maps to an Oracle INTEGER data type.


<dtm:DataTypeMappings  
    xmlns:dtm="http://www.microsoft.com/SqlServer/Dts/DataTypeMapping.xsd"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    SourceType="System.Data.SqlClient.SqlConnection"   
    MinSourceVersion="*"   
    MaxSourceVersion="*"   
    DestinationType="MSDAORA;OraOLEDB.Oracle;System.Data.OracleClient.OracleConnection"   
    MinDestinationVersion="08.*"   
    MaxDestinationVersion="*">  

    <!-- smallint -->  
    <dtm:DataTypeMapping >  
        <dtm:SourceDataType>  
            <dtm:DataTypeName>smallint</dtm:DataTypeName>  
        </dtm:SourceDataType>  
        <dtm:DestinationDataType>  
            <dtm:SimpleType>  
                <dtm:DataTypeName>INTEGER</dtm:DataTypeName>  
            </dtm:SimpleType>  
        </dtm:DestinationDataType>  
    </dtm:DataTypeMapping>    

    <!-- int -->  
    <dtm:DataTypeMapping >  
        <dtm:SourceDataType>  
            <dtm:DataTypeName>int</dtm:DataTypeName>  
        </dtm:SourceDataType>  
        <dtm:DestinationDataType>  
            <dtm:SimpleType>  
                <dtm:DataTypeName>INTEGER</dtm:DataTypeName>  
            </dtm:SimpleType>  
        </dtm:DestinationDataType>  
    </dtm:DataTypeMapping>    

        ...  

</dtm:DataTypeMappings>