DB2 主机集成服务器 2013年中使用 OLEDB 提供程序时"未表示日期时间"错误

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3064548
症状
请考虑以下情形:

  • 在 Microsoft 主机集成服务器 2013,配置 DB2 表。
  • 表中包含具有值为 24:00:00 的时间的时间戳列。
  • 您试图为 DB2 使用 OLEDB 提供程序选择时间戳列。
在这种情况下,请求将失败,并返回以下异常:

System.ArgumentOutOfRangeException 未处理: HResult = 2146233086
消息的小时、 分钟和秒 = 参数描述未表示的日期时间。
原因
发生此问题是因为 Microsoft SQL Server 中的值为 24:00:00 的时间无效。
解决方案

修补程序信息

Microsoft 提供了一个受支持的修补程序。然而,此修补程序仅用于解决本文中描述的问题。此修复程序仅适用于系统遇到本文中描述的问题。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。
如果此修复程序可供下载,则在此知识库文章顶部"提供修补程序下载"部分。如果未显示此节,请与 Microsoft 客户服务和支持联系以获取此修复程序。

注意是否出现其他问题,或者如果任何故障诊断是必需的您可能需要创建单独的服务请求。对于此特定的修补程序不需要照常收取支持费用到其他支持问题和事项。Microsoft 客户服务和支持电话号码,或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站:

http://support.microsoft.com/default.aspx?scid=fh[行];CNTACTMS

注意"提供修补程序下载"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。

系统必备组件

对 Microsoft 主机集成服务器 2013 安装要应用此修补程序,必须具有累积更新 2。有关如何获取累积更新包,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

累积更新信息

主机集成服务器 2013年的情况下,此问题的修复程序包括在累积更新包 3。有关如何获取累积更新包,请参阅 累积更新包 3 个主机集成服务器 2013.
替代方法
要变通解决此问题,您可以为文本解释时间戳列的值。若要执行此操作,必须设置为 Char 的日期时间 连接字符串参数为True。例如,设置此字符串如下:

日期时间为 Char = True
更多信息
如果时间戳列中的小时值为24:00,从 DB2 格式调整为 MSSQL 格式创建一天增加。例如,值为"2015年-08-26-24.00.00.000000"DB2 侧后调整为"2015年-08-27-00.00.00.000000"的 MSSQL 一侧。
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。
注意:本篇“快速发布”文章是从 Microsoft 支持组织直接创建的。 文中包含的信息按原样提供,用于响应紧急问题。 由于发布仓促,材料可能包含印刷错误,并且可能随时修订,恕不另行通知。 有关其他注意事项,请参阅使用条款

警告:本文已自动翻译

属性

文章 ID:3064548 - 上次审阅时间:09/30/2015 21:06:00 - 修订版本: 1.0

Microsoft Host Integration Server 2013

  • kbqfe kbsurveynew kbhotfixserver kbautohotfix kbmt KB3064548 KbMtzh
反馈