SQL Server Integration Services (solución de problemas)
Puede personalizar las conversiones de datos predeterminadas mediante el Asistente para importación y exportación de SQL Server Integration Services a fin de editar los archivos de asignación de tipo de datos. Los archivos de asignación definen asignaciones de tipos de datos entre el origen de datos y el destino, y se definen en formato XML. Al editar los archivos XML, se garantiza la compatibilidad entre el origen y el destino.
Los archivos XML se encuentran en las carpetas MappingFiles de la instalación de Microsoft SQL Server.
Asignación de tipos de datos
Para asignar correctamente los tipos de datos IBM DB2 para caracteres y decimales de IBM i a SQL Server tipos de datos, los archivos de asignación de datos deben extenderse para incluir el sinónimo de formulario largo del tipo de datos DB2. Por ejemplo, al usar el Proveedor OLE DB de Microsoft para DB2 (proveedor de datos), agregue la siguiente asignación de tipos de datos entre el origen INTEGER de DB2 y SQL Server. Esta asignación es compatible con SQLOLEDB y System.Data.SqlClient.SqlConnection
. Reemplaza el valor INT de SourceDataType de formato corto por INTEGER de formato largo.
La asignación siguiente para INT de DB2 es compatible con un origen DB2 para 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>
La siguiente asignación de tipos de datos para DB2 INTEGER es compatible con un origen DB2 para 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>
Archivos de asignación
En la tabla siguiente se describen los tres archivos de asignación que puede editar al usar el proveedor de datos.
Nombre del tipo de datos 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 | imagen | imagen | 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 | imagen | imagen | DT_BYTES |
BNARY LARGE OBJECT | imagen | imagen | 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 |
Para obtener más información sobre cómo configurar SQL Server 2022 Integration Services, consulte la sección Data Flow.
Personalización de componentes de flujos de datos
Puede usar los componentes de flujo de datos de SQL Server Integration Services para realizar transformaciones predeterminadas y personalizadas. Las transformaciones personalizadas se basan en el código personalizado proporcionado por el programador.
Los archivos de asignación de SQL Server Integration Services en formato XML se usan para el Asistente para importación y exportación. Estos archivos no se usan con el flujo de datos. SQL Server Integration Services ofrece una clase de búfer de canalización para permitir a los programadores empresariales personalizar la asignación de datos en el flujo de datos.
Para obtener más información sobre cómo personalizar componentes de flujo de datos mediante SQL Server 2022 Integration Services, consulte la sección Data Flow.