Mapeamento de Tipo de Dados no Assistente para Importação e Exportação do SQL Server

Aplica-se a:SQL Server SSIS Integration Runtime no Azure Data Factory

No Assistente de Importação e Exportação do SQL Server , você pode definir o nome, o tipo de dados e as propriedades do tipo de dados das colunas nas novas tabelas e arquivos de destino, mas não é possível especificar conversões personalizadas para valores de coluna. Como resultado, o mapeamento interno dos tipos de dados de origem para destino é importante.

Como o assistente mapeia tipos de dados entre a origem e o destino?

O assistente usa arquivos de mapeamento que são instalados pelo SQL Server Integration Services para mapear os tipos de dados de um sistema ou versão de um banco de dados para outro. Por exemplo, é possível mapear do tipos de dados do SQL Server para tipos de dados Oracle. Por padrão, os arquivos de mapeamento em formato XML são instalados nas seguintes pastas.

  • C:\Arquivos de Programas\Microsoft SQL Server\130\DTSMappingFiles\ (para 64 bits)
  • C:\Arquivos de Programas (x86)\Microsoft SQL Server\130\DTSMappingFiles\ (para 32 bits).

Se editar um arquivo de mapeamento existente ou adicionar um novo arquivo de mapeamento à pasta, você deverá fechar e reabrir o Assistente de Importação e Exportação do SQL Server ou o SQL Server Data Tools (SSDT) para carregar os arquivos novos ou alterados.

Você pode alterar um arquivo de mapeamento existente

Se sua empresa exigir mapeamentos diferentes entre tipos de dados, você poderá atualizar os arquivos de mapeamentos para alterar os mapeamentos usados pelo assistente. Por exemplo, se você quiser que o tipo de dados SQL Server nchar do seja mapeado para o tipo de dados GRAPHIC do DB2 em vez do tipo dados VARGRAPHIC do DB2, ao transferir dados do SQL Server para o DB2, altere o mapeamento de nchar no arquivo de mapeamento SqlClientToIBMDB2.xml para usar GRAPHIC em vez de VARGRAPHIC.

Você pode adicionar um novo arquivo de mapeamento

OIntegration Services instala mapeamentos entre muitas combinações de origem e de destino usadas com frequência. Você também pode adicionar novos arquivos de mapeamento para o diretório MappingFiles para dar suporte a outras origens e destinos. Os novos arquivos de mapeamento devem estar em conformidade com o esquema XSD publicado e devem mapear uma combinação exclusiva de origem e destino. O esquema para arquivos de mapeamento, DataTypeMapping.xsd, é publicado aqui.

Exemplo de arquivo de mapeamento

Esta é uma parte do arquivo de mapeamento XML que mapeia de tipos de dados do SQL Server (ou, mais especificamente, dos tipos de dados usados pelo Provedor de Dados .Net Framework para SQL Server) para tipos de dados Oracle. Como um exemplo, você pode ver que um tipo de dados int do SQL Server é mapeado para um tipo de dados INTEGER do 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>