修复︰ 使用 OLE DB 提供程序用于 DB2 使用 SSIS 导入 SQL Server DB2 的时间戳数据时的错误消息:"提供的时间值的小数部分溢出相应 SQL Server 参数或列的小数位数。

适用于: Host Integration Server 2009

症状


假设主机集成服务器 2009 年存在以下情况︰
  • DB2 2.0 为 DB2 或 Microsoft OLE DB 提供程序使用 Microsoft OLE DB 提供程序。
  • 您导入时间戳数据类型的 DB2 的数据到 Microsoft SQL Server 通过使用 SQL Server Integration Services (SSI) 或通过使用 SQL Server 导入和导出向导。
在这种情况下,导入操作将失败。然后,您会收到类似于以下内容的错误消息︰
[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. 

原因


因为 OLE DB 提供程序用于 DB2 返回 DBTYPE_DBTIMESTAMP 精度不正确的值,将发生此问题。OLE DB 列行集的DATETIME_REVISION字段中包含此错误的值。例如,DB2 的 OLE DB 提供程序返回06的精度。

解决方案


修补程序信息

可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。此修复程序仅适用于遇到本文中描述的问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。

注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰注意:"提供修补程序下载"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。

系统必备组件

如果 DB2 使用 Microsoft OLE DB 提供程序,您必须安装该修补程序的主机集成服务器 2009年。

重启要求

应用此修补程序后,不需要重新启动计算机。

修补程序替换信息

此修补程序不替代其他修补程序。

文件信息

此修复程序的英文版具有的文件属性 (或更新的文件属性)在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
32 位版本的 Microsoft OLE DB 提供程序为 DB2 2.0
文件名称文件版本文件大小日期时间平台
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
64 位版本的 Microsoft OLE DB 提供程序为 DB2 2.0
文件名称文件版本文件大小日期时间平台
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 位版本的 Microsoft OLE DB 提供程序为 DB2 2.0
文件名称文件版本文件大小日期时间平台
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
主机集成服务器 2009 年的 32 位版本
文件名称文件版本文件大小日期时间平台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
64 位版本的主机集成服务器 2009
文件名称文件版本文件大小日期时间平台SP 要求服务分支
Db2oledb.dll8.0.3751.2763,21630-Dec-200922:21x64SP1不适用
Drdaresync.exe8.0.3751.2664,40830-Dec-200922:21x64SP1不适用
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.21,500,49630-Dec-200922:21x64SP1不适用
Snanls.dll8.0.3751.2128,33630-Dec-200922:21x64SP1不适用
Db2oledb.dll8.0.3751.2539,98430-Dec-200922:19x86SYSWOW
Msdrda.dll8.0.3751.2869,71230-Dec-200922:19x86SYSWOW
Snanls.dll8.0.3751.2109,39230-Dec-200922:19x86SYSWOW

状态


Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。