插入和更新在 c + + Microsoft Jet DAO MFC 应用程序中可能不起作用运行 Windows Vista Service Pack 1 或 Windows Server 2008 的计算机

文章翻译 文章翻译
文章编号: 952337 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

在一个 c + + Microsoft Jet DAO MFC (CDao) 应用程序中插入和更新可能无法工作运行 Windows Vista Service Pack 1 (SP1) 或 Windows Server 2008 的计算机。 此外,您可能会收到以下错误消息:
该字段是太小,无法接受您试图添加的数据量。 请尝试插入或粘贴更少的数据。

原因

当满足下列所有条件都都为真时,会发生此问题:
  • 应用程序用 Microsoft Visual c + + 编写的并使用 CDao 类,可以访问 Microsoft Jet 数据库的数据源。
  • 使用 Multi-Byte 字符集 值设置为 字符集 项目选项。 或没有值设置为此选项。

    注意如果 UNICODE 值设置为 字符集 项目选项不会发生此问题。
  • 应用程序插入或更新检索到从固定长度的数据定义的文本列。
  • 源文本列包含的数据列允许的最大长度。 例如对于 Text(10) 列包含 1234567890 的值。
  • 连续的插入或更新发生从 CDaoRecordset 对象从返回的原始变量。
  • 目标表列是下列之一:
    • 从中检索原始数据是在同一列
    • 另一固定长度列定义为相同大小的一个文本列

解决方案

若要解决此问题,应用 943509 的 Microsoft 知识库文章中描述的修补程序。

有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
943509Jet 4.0 数据库引擎将修补程序软件包的 Windows XP Service Pack 2、 Windows Server 2003 Service Pack 1、 Windows Server 2003 Service Pack 2、 Windows Vista、 Windows Vista Service Pack 1 和 Windows Server 2008 的说明: 2007 年 10 月 23
可从 Microsoft 下载中心下载以下文件:
收起这个图片展开这个图片
Download
Download the Update for Windows Server 2008 (KB943509) package now.
收起这个图片展开这个图片
Download
Download the Update for Windows Server 2008 for Itanium-based Systems (KB943509) package now.
收起这个图片展开这个图片
Download
Download the Update for Windows Server 2008 x64 Edition (KB943509) package now.
收起这个图片展开这个图片
Download
Download the Update for Windows Vista (KB943509) package now.
收起这个图片展开这个图片
Download
Download the the Update for Windows Vista for x64-based Systems (KB943509) package now.

替代方法

如果您不能应用此修复程序 943509 的 Microsoft 知识库文章中描述的使用下列方法之一解决此问题:
  • 更新应用程序。要执行此操作将检索到的数据从原始的 Visual c + + 变量复制到新的变量中。然后,插入或更新数据的新变量。
  • 更新数据库设计。若要执行此操作使用下列方法之一:
    • 修改列宽度大于所需的任何数据的一个字符。
    • 重新宽度定义为非固定的长度。

状态

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

属性

文章编号: 952337 - 最后修改: 2008年6月9日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Visual Studio 2008 Standard Edition
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft Visual Studio 2008 Academic Edition
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual Studio .NET 2002 企业级结构设计版
  • Microsoft Visual Studio .NET 2002 企业级开发版
  • Microsoft Visual Studio .NET 2002 专业版
  • Microsoft Visual C++ .NET 2002 标准版
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Standard
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Ultimate
  • Windows Vista Business
  • Windows Vista Service Pack 1
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Business 64-bit edition
关键字:?
kbmt kbtshoot kbpubtypekc kberrmsg kbprb KB952337 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 952337
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com