Condividi tramite


SQL Server Integration Services (risoluzione dei problemi)

È possibile personalizzare le conversioni di dati predefinite usando l'Importazione/Esportazione guidata di Integration Services SQL Server per modificare i file di mapping dei tipi di dati. I file di mapping definiscono i mapping dei tipi di dati tra l'origine dati e la destinazione e sono definiti in formato XML. Quando si modificano i file XML, si garantisce la compatibilità tra l'origine e la destinazione.

I file XML si trovano nelle cartelle MappingFiles dell'installazione di Microsoft SQL Server.

Mapping dei tipi di dati

Per eseguire correttamente il mapping dei tipi di dati IBM DB2 per IBM i character e decimal ai tipi di dati SQL Server, è necessario estendere i file di mapping dei dati per includere il sinonimo di formato lungo del tipo di dati DB2. Ad esempio, quando si usa il provider Microsoft OLE DB per DB2 (provider di dati), aggiungere il mapping del tipo di dati seguente tra l'origine INTEGER DB2 e SQL Server. Questo mapping è compatibile con SQLOLEDB e System.Data.SqlClient.SqlConnection. Sostituisce il valore SourceDataType in formato breve INT con il formato long INTEGER.

Il mapping seguente per DB2 INT è compatibile con un'origine DB2 per z/OS.

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

Il mapping dei tipi di dati seguente per DB2 INTEGER è compatibile con un'origine DB2 per IBM i.

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

File di mapping

Nella tabella seguente vengono descritti i tre file di mapping che è possibile modificare quando si utilizza il provider di dati.

Nome tipo di dati DB2 DB2ToMSSql DB2ToMSSql10 DB2ToSSIS10
TIME DATETIME time DT_DBTIME
timestamp Datetime datetime2 DT_DBTIMESTAMP2
DATE DATETIME DATE DT_DBDATE
CHAR CHAR CHAR DT_STR
CHAR () FOR BIT DATA BINARY BINARY DT_BYTES
CHAR () FOR MIXED DATA NCHAR NCHAR DT_WSTR
CHAR () FOR SBCS DATA CHAR CHAR DT_STR
CHARACTER CHAR CHAR DT_STR
CHARACTER () FOR BIT DATA BINARY BINARY DT_BYTES
CHARACTER () FOR MIXED DATA NCHAR NCHAR DT_WSTR
CHARACTER () FOR SBCS DATA CHAR CHAR DT_STR
NATIONAL CHARACTER NCHAR NCHAR DT_WSTR
VARCHAR VARCHAR VARCHAR DT_STR
VARCHAR () FOR BIT DATA VARBINARY VARBINARY DT_BYTES
VARCHAR () FOR MIXED DATA NVARCHAR NVARCHAR DT_WSTR
VARCHAR () FOR SBCS DATA VARCHAR VARCHAR DT_STR
CHARACTER VARYING VARCHAR VARCHAR DT_STR
CHARACTER VARYING () FOR BIT DATA VARBINARY VARBINARY DT_BYTES
CHARACTER VARYING () FOR MIXED DATA NVARCHAR NVARCHAR DT_WSTR
CHARACTER VARYING () FOR SBCS DATA VARCHAR VARCHAR DT_STR
NATIONAL CHARACTER VARYING NVARCHAR NVARCHAR DT_WSTR
LONG VARCHAR FOR BIT DATA image image DT_IMAGE
LONG VARCHAR text text DT_TEXT
GRAPHIC NCHAR NCHAR DT_WSTR
VARGRAPHIC NVARCHAR NVARCHAR DT_WSTR
GRAPHIC VARYING NVARCHAR NVARCHAR DT_WSTR
SMALLINT SMALLINT SMALLINT DT_I2
INT INT INT DT_I4
INTEGER INT INT DT_I4
bigint bigint bigint DT_I8
DECIMAL NUMERIC NUMERIC DT_NUMERIC
NUMERIC NUMERIC NUMERIC DT_NUMERIC
real REAL REAL DT_R4
FLOAT FLOAT FLOAT DT_R8
DOUBLE FLOAT FLOAT DT_R8
DOUBLE PRECISION FLOAT FLOAT DT_R8
BLOB image image DT_BYTES
BNARY LARGE OBJECT image image DT_BYTES
CLOB text text DT_TEXT
CLOB () FOR MIXED DATA ntext ntext DT_NTEXT
CLOB () FOR SBCS DATA text text DT_TEXT
CHAR LARGE OBJECT text text DT_TEXT
CHAR LARGE OBJECT () FOR MIXED DATA ntext ntext DT_NTEXT
CHAR LARGE OBJECT () FOR SBCS DATA text text DT_TEXT
CHARACTER LARGE OBJECT text text DT_TEXT
CHARACTER LARGE OBJECT () FOR MIXED DATA ntext ntext DT_NTEXT
CHARACTER LARGE OBJECT () FOR SBCS DATA text text DT_TEXT
130 ntext ntext DT_NTEXT

Per altre informazioni sulla configurazione di Integration Services SQL Server 2022, vedere la sezione Flusso di dati.

Personalizzazione dei componenti del flusso di dati

È possibile utilizzare i componenti del flusso di dati di SQL Server Integration Services per eseguire trasformazioni predefinite e personalizzate. Queste ultime sono basate su codice personalizzato fornito dagli sviluppatori.

I file di mapping di SQL Server Integration Services in formato XML devono essere utilizzati con l'Importazione/Esportazione guidata, non con il flusso di dati. SQL Server Integration Services fornisce una classe PipelineBuffer che consente agli sviluppatori di sistemi enterprise di personalizzare il mapping all'interno del flusso di dati.

Per altre informazioni sulla personalizzazione dei componenti del flusso di dati tramite SQL Server 2022 Integration Services, vedere la sezione Flusso di dati.