Síntomas
Imagine el siguiente escenario:
-
En Microsoft Host Integration Server 2013, se configura una tabla DB2.
-
La tabla contiene una columna Timestamp que tiene un valor de tiempo de 24:00:00.
-
Intente seleccionar la columna de marca de hora utilizando el proveedor OLE DB para DB2.
En este escenario, la solicitud falla y devuelve la siguiente excepción:
No se controló System.ArgumentOutOfRangeException: HResult =-2146233086
Mensaje = hora, minuto y segundo parámetros describen un campo DateTime que no se puede representar.
Causa
Este problema se produce porque un valor de tiempo de 24:00:00 no es válido en Microsoft SQL Server.
Solución
Información de la revisión
Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.
Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.
Nota Si se producen problemas adicionales o si es necesario solucionar los problemas, tendrá que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.Microsoft.com/default.aspx?scid=fh; [LN]; CNTACTMS
Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.
Requisitos previos
Debe tener la actualización acumulativa 2 para Microsoft Host Integration Server 2013 instalado para poder aplicar este hotfix. Para obtener más información acerca de cómo obtener el paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete de actualización acumulativa 2929767 2 para Host Integration Server 2013
Información de actualización acumulativa
La corrección para este problema se incluye en el paquete de actualización acumulativa 3 para Host Integration Server 2013. Para obtener más información acerca de cómo obtener el acumulado paquete de actualización, vea 3 para Host Integration Server 2013 del paquete de actualización acumulativa.
Solución alternativa
Para evitar este problema, se puede interpretar el valor de la columna de marca de hora como texto. Para ello, debe establecer en Trueel parámetro de cadena de conexión de DateTime como Char . Por ejemplo, establecer esta cadena como sigue:
Fecha y hora como Char = True
Más información
Si el valor de las horas en una columna Timestamp es 24:00, un ajuste del formato de DB2 en el formato MSSQL crea un aumento de un día. Por ejemplo, un valor de "2015-08-26-24.00.00.000000" en el lado de DB2 se ajusta al "2015-08-27-00.00.00.000000" en el lado MSSQL.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".