Sintomas
Considere o seguinte cenário:
-
Microsoft Host Integration Server 2013, irá configurar uma tabela de DB2.
-
A tabela contém uma coluna de data/hora tem um valor de tempo de 24:00:00.
-
Tente seleccionar a coluna de data/hora, utilizando o fornecedor de OLEDB para DB2.
Neste cenário, o pedido falha e devolve a seguinte excepção:
System.ArgumentOutOfRangeException foi não processada: HResult =-2146233086
Mensagem = hora, minuto e segundo parâmetros descrevem um campo DateTime não representável.
Causa
Este problema ocorre porque um valor de tempo de 24:00:00 é inválido no Microsoft SQL Server.
Resolução
Informações sobre correção
Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.
Se a correcção estiver disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Base de dados de conhecimento. Se esta secção não for apresentada, contacte o Suporte ao Cliente da Microsoft para obter a correção.
Nota se ocorram problemas adicionais ou se é necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte site da Microsoft:
http://support.microsoft.com/default.aspx?scid=FH; [LN]; CNTACTMS
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.
Pré-requisitos
Tem de ter 2 de actualização cumulativa para Microsoft Host Integration Server 2013 instalado para aplicar esta correcção. Para mais informações sobre como obter o pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
Pacote de actualização cumulativa 2929767 2 para Host Integration Server 2013
Informações de actualização cumulativa
A correcção para este problema está incluída no pacote de actualização cumulativa 3 para Host Integration Server 2013. Para mais informações sobre como obter o cumulativa pacote de actualização, consulte cumulativa 3 para o Host Integration Server 2013 do pacote de actualização.
Solução alternativa
Para contornar este problema, pode interpretar o valor da coluna de data/hora como texto. Para tal, tem de definir o parâmetro de cadeia de ligação DateTime como Char como True. Por exemplo, defina esta cadeia do seguinte modo:
Data/hora como Char = True
Mais informações
Se o valor de horas numa coluna Timestamp é 24:00, um ajustamento do formato DB2 para o formato MSSQL cria um aumento de um dia. Por exemplo, um valor de "2015-08-26-24.00.00.000000" do lado do DB2 é ajustado para "2015-08-27-00.00.00.000000" no lado MSSQL://.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".