Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se proporciona información para solucionar problemas de consumidor de datos.
SQL Server Integration Services
Empresa Individual Sign-On
Al usar Enterprise Single Sign-On con SQL Server Integration Services, es posible que tenga que introducir un valor de marcador de posición de MS$SAME para el nombre de usuario y la contraseña. Con Vínculos de datos, puede configurar ESSO para su uso con SSIS.
En el cuadro de diálogo Conexión, haga clic en Inicio de sesión único para el método de seguridad.
Seleccione una aplicación afiliada en el cuadro de lista desplegable.
En el cuadro de diálogo Todo , haga clic en Contraseña y, a continuación, haga clic en Editar valor. En el cuadro de diálogo Editar valor de propiedad , escriba MS$SAME para el valor de propiedad y haga clic en Aceptar.
En el cuadro de diálogo Todo , haga clic en Id. de usuario y, a continuación, haga clic en Editar valor. En el cuadro de diálogo Editar valor de propiedad , escriba MS$SAME para el valor de propiedad y haga clic en Aceptar.
En el cuadro de diálogo Conexión , haga clic en Probar. Puede ver los resultados en el cuadro de diálogo Vínculos de datos de Microsoft.
Haga clic en Aceptar para guardar la información de configuración.
FastLoad para insertar el valor TIMESTAMP
Al usar el destino OLE DB de SQL Server Integration Services con FastLoad para insertar valores datetime o datetime2 de SQL Server en una columna DB2 TIMESTAMP, puede producirse este error.
LA REPRESENTACIÓN EN CADENA DE UN VALOR DE FECHA Y HORA NO ES UN VALOR DE FECHA Y HORA VÁLIDO.
Para solucionar este problema, debe establecer la propiedad origen de datos del proveedor de datos "Use Early Metadata" en true.
Use Early Metadata=True
Asignación de tipos de datos
Al usar los Asistentes para importación y exportación de SQL Server Integration Services, desde Microsoft SQL Server Management Studio o Business Intelligence Design Studio, puede personalizar las conversiones de datos predeterminadas editando archivos de asignación XML. Los archivos de asignación XML del Asistente para la importación y la exportación se encuentran en la siguiente carpeta.
C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles
C:\Program Files (x86)\Microsoft SQL Server\100\DTS\MappingFiles
Para asignar correctamente IBM DB2 para tipos de datos decimales y caracteres IBM i a tipos de datos de SQL Server, los archivos de asignación de datos deben extenderse para incluir el sinónimo de formato largo del tipo de datos DB2. Por ejemplo, agregue la siguiente asignación de tipos de datos entre el origen INTEGER de DB2 y SQL Server. Esta mapeo es compatible con SQLOLEDB, SQLNCL, SQLNCLI10 y System.Data.SqlClient.SqlConnection. Reemplaza el valor INT de formato corto SourceDataType por el formato largo INTEGER.
La siguiente asignación para DB2 INT es compatible con una fuente de DB2 para z/OS V9.
<!-- 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 V6R1.
<!-- 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 de tipos de datos
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 | Fecha y hora | time | DT_DBTIME |
| TIMESTAMP | datetime | datetime2 | DT_DBTIMESTAMP2 |
| FECHA | Fecha y hora | FECHA | DT_DBDATE |
| CHAR | CHAR | CHAR | DT_STR |
| CHAR () PARA DATOS DE BITS | BINARIO | BINARIO | DT_BYTES |
| CHAR () PARA DATOS MIXTOS | NCHAR | NCHAR | DT_WSTR |
| CHAR () PARA DATOS DE SBCS | CHAR | CHAR | DT_STR |
| CARÁCTER | CHAR | CHAR | DT_STR |
| CARÁCTER () PARA DATOS DE BITS | BINARIO | BINARIO | DT_BYTES |
| CARÁCTER () PARA DATOS MIXTOS | NCHAR | NCHAR | DT_WSTR |
| CARÁCTER () PARA DATOS DE SBCS | CHAR | CHAR | DT_STR |
| CARÁCTER NACIONAL | NCHAR | NCHAR | DT_WSTR |
| VARCHAR | VARCHAR | VARCHAR | DT_STR |
| VARCHAR () PARA DATOS BINARIOS | VARBINARY | VARBINARY | DT_BYTES |
| VARCHAR () PARA DATOS MIXTOS | NVARCHAR | NVARCHAR | DT_WSTR |
| VARCHAR () PARA DATOS SBCS | VARCHAR | VARCHAR | DT_STR |
| CARÁCTER VARIABLE | VARCHAR | VARCHAR | DT_STR |
| CARÁCTER VARIABLE () PARA DATOS DE BITS | VARBINARY | VARBINARY | DT_BYTES |
| CARÁCTER VARIABLE () PARA DATOS MIXTOS | NVARCHAR | NVARCHAR | DT_WSTR |
| CARÁCTER VARIABLE () PARA DATOS SBCS | VARCHAR | VARCHAR | DT_STR |
| CARÁCTER NACIONAL VARIABLE | NVARCHAR | NVARCHAR | DT_WSTR |
| VARCHAR LARGO PARA DATOS EN BIT | imagen | imagen | DT_IMAGE |
| LONG VARCHAR | Mensaje de texto | Mensaje de texto | DT_TEXT |
| GRÁFICO | NCHAR | NCHAR | DT_WSTR |
| VARGRAPHIC | NVARCHAR | NVARCHAR | DT_WSTR |
| GRÁFICO VARIABLE | NVARCHAR | NVARCHAR | DT_WSTR |
| SMALLINT | SMALLINT | SMALLINT | DT_I2 |
| INT | INT | INT | DT_14 |
| INTEGER | INT | INT | DT_14 |
| BIGINT | BIGINT | BIGINT | DT_18 |
| DECIMAL | NUMÉRICO | NUMÉRICO | DT_NUMERIC |
| NUMÉRICO | NUMÉRICO | NUMÉRICO | DT_NUMERIC |
| REAL | REAL | REAL | DT_R4 |
| FLOTAR | FLOTAR | FLOTAR | DT_R8 |
| DOUBLE | FLOTAR | FLOTAR | DT_R8 |
| doble precisión | FLOTAR | FLOTAR | DT_R8 |
| BLOB | imagen | imagen | DT_BYTES |
| OBJETO BINARIO GRANDE | imagen | imagen | DT_BYTES |
| CLOB | Mensaje de texto | Mensaje de texto | DT_TEXT |
| CLOB () PARA DATOS MIXTOS | ntexto | ntexto | DT_NTEXT |
| CLOB () PARA DATOS DE SBCS | Mensaje de texto | Mensaje de texto | DT_TEXT |
| CARÁCTER OBJETO GRANDE | Mensaje de texto | Mensaje de texto | DT_TEXT |
| OBJETO DE CARÁCTER GRANDE () PARA DATOS MEZCLADOS | ntexto | ntexto | DT_NTEXT |
| OBJETO GRANDE DE CARÁCTER () PARA DATOS SBCS | Mensaje de texto | Mensaje de texto | DT_TEXT |
| OBJETO GRANDE DE CARÁCTER | Mensaje de texto | Mensaje de texto | DT_TEXT |
| OBJETO DE CARACTERES GRANDES () PARA DATOS MIXTOS | ntexto | ntexto | DT_NTEXT |
| OBJETO GRANDE DE CARACTERES () PARA LOS DATOS SBCS | Mensaje de texto | Mensaje de texto | DT_TEXT |
| 130 | ntexto | ntexto | DT_NTEXT |
Después de editar un archivo de asignación, debe cerrar y volver a abrir el Asistente para importación y exportación de SQL Server o Business Intelligence Development Studio, en función del entorno en el que esté trabajando.
Para obtener más información sobre cómo configurar SQL Server 2008 Integration Services, consulte el tema Importar y exportar datos mediante el Asistente para importación y exportación de SQL Server en la Documentación en línea de SQL Server (https://go.microsoft.com/fwlink/?LinkId=193204).
Personalización de componentes de flujo de datos
Puede usar componentes de flujo de datos de SQL Server Integration Services para realizar transformaciones predeterminadas y personalizadas. Las transformaciones personalizadas se basan en código personalizado proporcionado por el desarrollador.
Los archivos de asignación de SQL Server Integration Services en formato XML están destinados al uso con el Asistente de 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 desarrolladores empresariales personalizar la asignación de datos dentro del flujo de datos. Para obtener más información sobre cómo personalizar los componentes de flujo de datos mediante SQL Server 2008 Integration Services, vea el tema Trabajar con tipos de datos en el flujo de datos en la Documentación en pantalla de SQL Server (https://go.microsoft.com/fwlink/?LinkId=241523).
Replicación de SQL Server
Derivar parámetros
La replicación de SQL Server requiere que el parámetro Derive esté establecido en FALSE.
Asignación de tipos de datos
La replicación de SQL Server podría convertir datos de manera incorrecta, basándose en los mapeos predeterminados de SQL Server a tipos de datos de DB2. Se le recomienda revisar y modificar las asignaciones de tipos de datos de Replicación mediante los siguientes procedimientos almacenados del sistema de SQL Server.
-
sp_helpdatatypemap -
sp_getdefaultdatatypemapping -
sp_setdefaultdatatypemappingPara obtener más información, vea el tema Procedimientos almacenados del sistema (Transact-SQL) en SQL Server Books Online (http://go.microsoft.com/fwlink/?LinkId=241524).
Problema con la asignación de DATETIME2 de SQL Server a DBTYPE_TIMESTAMP
La replicación de SQL Server 2008 a DB2 para z/OS puede fallar con el SQLCODE -188 (la representación en cadena de un valor de fecha y hora no es válida). Esto ocurre cuando Replication está configurada para mapear DATETIME2 a DB2 VARCHAR(27) y utiliza comandos de artículo de suscripción con valores de datos de cadena literal.
Solución a problemas con instrucciones paso a paso
Vuelva a configurar la replicación de SQL Server 2008 para mapear DATETIME2 a TIMESTAMP de DB2 y manejar comandos de artículos de suscripción con parámetros. Esto permite al proveedor de datos dar formato al DATETIME2 como una estructura DB2 TIMESTAMP compatible con el servidor de bases de datos IBM DB2.
Identifique el mapeo de tipos de datos que se va a modificar. Use MASTER para todos los pasos.
select * from
sys.fn_helpdatatypemap ( 'MSSQLSERVER', '%', '%', '%', '%', '%', 0 )Donde destination_dbms = "DB2" y source_type = "datetime2" Los resultados deben indicar el mapping_id que se va a modificar. En la tabla siguiente se muestra el panel de resultados de este ejemplo donde el mapping_id es 189.
mapping_id source_dbms tipo_de_fuente destination_dbms destination_type longitud_destino 189 MSSQLSERVER datetime2 DB2 VARCHAR 27 Elimine el mapeo de tipos de datos.
exec sp_dropdatatypemapping 189Agregue la asignación de tipos de datos.
exec sp_adddatatypemapping @source_dbms = 'MSSQLSERVER', @source_type = 'datetime2', @destination_dbms = 'DB2', @destination_type = 'TIMESTAMP', @destination_nullable = 1, @destination_createparams = 0, @dataloss = 0, @is_default = 1Vuelva a ejecutar la consulta para comprobar la nueva asignación de tipos de datos.
select * from
select * from sys.fn_helpdatatypemap ( 'MSSQLSERVER', '%', '%', '%', '%', '%', 0 )Donde destination_dbms = 'DB2' y source_type = 'datetime2'
Los resultados deben indicar el "mapping_id" que debe modificarse. En la tabla siguiente se muestra el panel de resultados de este ejemplo donde el mapping_id es 189.
identificador_de_mapeo source_dbms tipo_de_fuente destination_dbms (sistema de gestión de bases de datos de destino) destination_type longitud_de_destino 494 MSSQLSERVER datetime2 DB2 TIMESTAMP NULO Identifique el artículo de la suscripción para replicación que desea reconfigurar. Use la Transact-SQL instrucción USE para cambiar de la base de datos maestra a la base de datos desde la que va a replicar.
USE [Test]
select name, status from sysarticlesLos resultados deben mostrar el nombre del artículo que se va a modificar. En este ejemplo, la tabla siguiente muestra los resultados donde el nombre es DB2TS01.
nombre estado DB2TS01 25 Si el valor de estado es 1 o 9, el artículo se configura para el formato literal de cadena.
Si el valor de estado es 17 o 25, el artículo se configura para el formato con parámetros.
Configure el artículo de suscripción de replicación para comandos con parámetros.
USE [Test]
DECLARE @publication AS sysname; DECLARE @article AS sysname; SET @publication = N'DB2TS_PUB01'; SET @article = N'DB2TS01'; EXEC sp_changearticle @publication, @article, 'status', 'parameters', 0, 0;Para obtener más información, consulte Conceptos de procedimientos almacenados del sistema de replicación (https://go.microsoft.com/fwlink/?LinkId=241525) en los Libros en línea de SQL Server.
Se produce un error en la operación INSERT de replicación con el error 8152: los datos binarios o de cadena se truncarían
Es posible que la operación INSERT de replicación de SQL Server podría fallar con el error 8152 de SQL Server (se truncarán datos de cadena o binarios). Esto puede ocurrir cuando (1) El proveedor de datos no está configurado para usar metadatos anticipados y (2) La replicación no está configurada para usar instrucciones INSERT parametrizadas.
Vuelva a configurar la conexión del proveedor de datos para especificar "Use Early Metadata=true" en la definición del origen de datos del suscriptor de replicación de SQL Server.
Para obtener más información, consulte Configurar proveedores de datos para enlaces de datos de DB2 (DB2) Todas las propiedades en la documentación del proveedor OLE DB para DB2.
Vuelva a configurar el artículo sobre la suscripción de replicación de SQL Server para incluir la opción "24" ("Incluye el nombre de columna en instrucciones INSERT y usa instrucciones parametrizadas").
Para obtener más información, consulte Replicación de SQL Server sp_addarticle (Transact-SQL) en la documentación de SQL Server.
SQL Server Analysis Services
Al diseñar cubos para su uso con SQL Server Analysis Services, las herramientas generan comandos SQL que contienen nombres de alias largos que pueden superar la longitud máxima admitida por el servidor DB2. En función de la plataforma y la versión de DB2 que use, es posible que no pueda usar consultas con nombres de alias superiores a 18 caracteres. Por ejemplo, muchos objetos implementados en DB2 para z/OS usan nombres de 18 caracteres. Consulte la referencia de SQL de DB2 para la plataforma y la versión de DB2 y consulte con el administrador de bases de datos db2. Se recomienda que el administrador o el desarrollador actualicen los dos archivos de cartucho de configuración de SQL Server Analysis Service que contienen la compatibilidad con la asignación de tipos de datos para DB2 cambiando la longitud del identificador (limit-table-identifier-length) de 29 a 18. A continuación se muestran los nombres y la ubicación de los dos archivos de cartucho que se deben actualizar.
C:\Archivos de programa\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs
C:\Archivos de programa\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\DataWarehouseDesigner\UIRdmsCartridge\db2v0801.xs
SQL Server Analysis Services usa los archivos de configuración actualizados para asignar un nombre correcto a los objetos en los comandos SQL.
SQL Server Migration Assistant para DB2
Al usar SQL Server Migration Assistant para DB2 (SSMA) para leer datos CLOB de DB2, debe definir la conexión DB2 dentro de SSMA mediante la opción de cadena de conexión y, a continuación, incluir en la cadena de conexión el siguiente argumento.
- Activar metadatos tempranos=True
Este argumento indica al proveedor de datos que use metadatos iniciales (tipos de datos de parámetros y columnas) definidos en tiempo de diseño o metadatos tardíos definidos en tiempo de ejecución. Esta propiedad opcional acepta un valor booleano. El valor predeterminado es false. Especifique verdadero al usar SQL Server Migration Assistant (SSMA) de DB2 para leer datos CLOB, incluida la información del esquema codificada como datos CLOB (por ejemplo, la columna STATEMENT de la tabla SYSTRIGGERS de SYSIBM).