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.