CORRECÇÃO: Mensagem de erro quando utiliza o fornecedor OLE DB para DB2 para importar dados do DB2 TIMESTAMP para SQL Server utilizando SSIS: "a parte fraccional do valor temporal fornecido excede a escala da coluna ou parâmetro correspondente do SQL Server."

Aplica-se a: Host Integration Server 2009

Sintomas


Considere o seguinte cenário no Host Integration Server 2009:
  • Utilizar o fornecedor Microsoft OLE DB para DB2 ou fornecedor Microsoft OLE DB para DB2 2.0.
  • Importar dados do DB2 do tipo de dados data/hora para o Microsoft SQL Server utilizando o SQL Server Integration Services (SSIS) ou utilizando o Assistente de exportar e importar do SQL Server.
Neste cenário, a operação de importação falha. Em seguida, receber mensagens de erro semelhantes à seguinte:
[Destination Destination Name] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005  Description: "The fractional part of the provided time value overflows the scale of the corresponding SQL Server parameter or column. Increase bScale in DBPARAMBINDINFO or column scale to correct this error." [Destination - Destination Name] Error: There was an error with input column "column name" (57) on input "Destination Input" (44). The column status returned was: "Conversion failed because the data value overflowed the specified type." [Destination - Destination Name] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "input "Destination Input" (44)" failed because error code 0xC020907A occurred, and the error row disposition on "input "Destination Input" (44)" specifies failure on error. An error occurred on the specified object of the specified component.  There may be error messages posted before this with more information about the failure. 

Causa


Este problema ocorre porque o fornecedor OLE DB para DB2 devolve um valor incorrecto para a precisão DBTYPE_DBTIMESTAMP. Este valor incorrecto é incluído no campo DATETIME_REVISION do conjunto de linhas de coluna OLE DB. Por exemplo, o fornecedor de OLE DB para DB2 devolve uma precisão de 0 ou 6.

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 Caso ocorram problemas adicionais ou se for necessária a 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 Web site da Microsoft: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

Se utilizar o fornecedor Microsoft OLE DB para DB2, tem de ter o Host Integration Server 2009 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição da correção

Esta correcção não substitui outras correcções.

Informações de ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são listadas na hora Universal Coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador Fuso horário no item data e hora no painel de controlo.
versão de 32 bits do fornecedor Microsoft OLE DB para DB2 2.0
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataforma
db2oledb.dll7.0.3192.2571,21621-Dec-200915:20x86
microsoft.hostintegration.dataaccesslibrary.dll7.0.3192.22,426,77621-Dec-200915:20x86
msdrda.dll7.0.3192.2841,55221-Dec-200915:20x86
versão de 64 bits do fornecedor Microsoft OLE DB para DB2 2.0
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataforma
db2oledb.dll7.0.3192.2806,73621-Dec-200915:40x64
microsoft.hostintegration.dataaccesslibrary.dll7.0.3192.22,426,77621-Dec-200915:40x86
msdrda.dll7.0.3192.21,428,81621-Dec-200915:40x64
IA-64-bit versão do fornecedor Microsoft OLE DB para DB2 2.0
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataforma
db2oledb.dll7.0.3192.21,608,01621-Dec-200915:40IA-64
microsoft.hostintegration.dataaccesslibrary.dll7.0.3192.22,426,77621-Dec-200915:40x86
msdrda.dll7.0.3192.22,243,92021-Dec-200915:40IA-64
versões de 32 bits do Host Integration Server 2009
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataformaRequisito de SP
Db2oledb.dll8.0.3751.2539,98430-Dec-200922:19x86SP1
Drdaresync.exe8.0.3751.2470,87230-Dec-200922:19x86SP1
Microsoft.hostintegration.adapters.msdb2.runtime.dll8.0.3751.279,78430-Dec-200922:19x86SP1
Microsoft.hostintegration.msdb2client.dll8.0.3751.2235,40830-Dec-200922:19x86SP1
Msdrda.dll8.0.3751.2869,71230-Dec-200922:19x86SP1
Snanls.dll8.0.3751.2109,39230-Dec-200922:19x86SP1
versões de 64 bits do Host Integration Server 2009
Nome do ficheiroVersão do ficheiroTamanho do ficheiroDataHoraPlataformaRequisito de SPRamo de serviço
Db2oledb.dll8.0.3751.2763,21630-Dec-200922:21x64SP1Não aplicável
Drdaresync.exe8.0.3751.2664,40830-Dec-200922:21x64SP1Não aplicável
Microsoft.hostintegration.adapters.msdb2.runtime.dll8.0.3751.279,78430-Dec-200922:19x86SP1Não aplicável
Microsoft.hostintegration.msdb2client.dll8.0.3751.2235,40830-Dec-200922:19x86SP1Não aplicável
Msdrda.dll8.0.3751.21,500,49630-Dec-200922:21x64SP1Não aplicável
Snanls.dll8.0.3751.2128,33630-Dec-200922:21x64SP1Não aplicável
Db2oledb.dll8.0.3751.2539,98430-Dec-200922:19x86NenhumSYSWOW
Msdrda.dll8.0.3751.2869,71230-Dec-200922:19x86NenhumSYSWOW
Snanls.dll8.0.3751.2109,39230-Dec-200922:19x86NenhumSYSWOW

Estado


A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".