다음을 통해 공유


SQL Server 가져오기 및 내보내기 마법사에서 데이터 형식 매핑

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

SQL Server 가져오기 및 내보내기 마법사에서는 새로운 목적지 테이블 및 파일에서 이름, 데이터 형식 및 데이터 형식 속성을 설정할 수 있지만 column 값에 대한 맞춤형 대화를 지정할 수는 없습니다. 따라서, 원본 파일에서 목적지로 데이터 형식의 기본 제공 매핑이 중요합니다.

마법사가 원본 파일과 목적지 간에 데이터 형식을 매핑하는 방법

마법사는 SQL Server Integration Services를 통해 설치한 매핑 파일을 사용하여 데이터베이스 시스템 또는 버전 간에 데이터 형식을 매핑합니다. 예를 들어 SQL Server 데이터 형식에서 Oracle 데이터 형식으로 매핑할 수 있습니다. 기본적으로 XML 형식의 매핑 파일은 다음 폴더에 설치됩니다.

  • C:\Program Files\Microsoft SQL Server\130\DTSMappingFiles\(64비트)
  • C:\Program Files (x86)\Microsoft SQL Server\130\DTSMappingFiles\(32비트).

기존 매핑 파일을 편집하거나 폴더에 새 매핑 파일을 추가하는 경우 SQL Server 가져오기 및 내보내기 마법사 또는 SSDT(SQL Server Data Tools)를 닫고 다시 열어 새 매핑 파일 또는 변경된 매핑 파일을 로드해야 합니다.

기존 매핑 파일을 변경할 수 있습니다.

비즈니스에 데이터 형식 간에 다른 매핑이 필요한 경우 매핑 파일을 업데이트하여 마법사에서 사용하는 매핑을 변경할 수 있습니다. 예를 들어 DB2로 데이터를 전송할 때 SQL Server nchar 데이터 형식이 DB2 VARGRAPHIC 데이터 형식 대신 DB2 GRAPHIC 데이터 형식에 매핑되도록 하려면 SqlClientToIBMDB2.xml 매핑 파일에서 nchar 매핑을 변경하여 VARGRAPHIC 대신 GRAPHIC을 사용하도록 합니다.

새 매핑 파일을 추가할 수 있습니다.

Integration Services는 원본 및 대상에 일반적으로 사용되는 조합 간의 매핑을 설치합니다. MappingFiles 디렉터리에 새 매핑 파일을 추가하여 추가 원본 파일 및 목적지를 지원할 수도 있습니다. 새 매핑 파일은 게시된 XSD 스키마를 따라야 하며 반드시 원본과 대상의 고유한 조합 간에 매핑해야 합니다. 매핑 파일의 스키마인 DataTypeMapping.xsd여기에 게시됩니다.

샘플 매핑 파일

SQL Server 데이터 형식(또는 더 구체적으로는 SQL Server용 .NET Framework 데이터 공급자에서 사용하는 데이터 형식)에서 Oracle 데이터 형식으로 매핑되는 XML 매핑 파일의 일부는 다음과 같습니다. 한 예로 SQL Server int 데이터 형식이 Oracle 정수 데이터 형식에 매핑되는 것을 볼 수 있습니다.

  
<dtm:DataTypeMappings  
    xmlns:dtm="https://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>