Inserciones y actualizaciones en aplicaciones MFC de DAO de C++ Microsoft Jet no funcionen en un equipo que ejecuta Windows Vista Service Pack 1 o Windows Server 2008

Seleccione idioma Seleccione idioma
Id. de artículo: 952337 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

En una aplicación MFC de DAO de C++ Microsoft Jet (CDao), inserciones y actualizaciones no funcionen en un equipo que ejecuta Windows Vista Service Pack 1 (SP1) o Windows Server 2008. Además, puede recibir el siguiente mensaje de error:
El campo es demasiado pequeño para aceptar la cantidad de datos que se ha intentado agregar. Intente insertar o pegar menos datos.

Causa

Este problema se produce cuando las siguientes condiciones se cumplen:
  • La aplicación está escrita en Microsoft Visual C++ y utiliza las clases CDao para tener acceso a un origen de datos base de datos Microsoft Jet.
  • Se establece el valor de Caracteres multibyte de usar para la opción de proyecto Juego de caracteres . O bien, no hay ningún valor está configurado para esta opción.

    Nota Este problema no se produce si se establece el valor UNICODE para la opción de proyecto Juego de caracteres .
  • Los datos que inserta la aplicación o actualización se ha extraído una longitud fija definen la columna de texto.
  • La columna de texto de origen contiene datos que es la longitud máxima que permite la columna. Por ejemplo, una columna Text(10) contiene un valor de 1234567890.
  • Sucesivas inserciones o actualizaciones tienen lugar desde la variable original que se devuelve desde el objeto CDaoRecordset .
  • La columna de tabla de destino es una de las columnas siguientes:
    • La misma columna desde la que se recuperaron los datos originales
    • Otra columna de longitud fija que se define como una columna de texto del mismo tamaño

Solución

Para resolver este problema, aplique la revisión descrita en Microsoft Knowledge Base el artículo 943509.

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
943509Descripción del paquete revisión de motor de base de datos de Jet 4.0 para Windows XP Service Pack 2, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Vista, Windows Vista Service Pack 1 y Windows Server 2008: 23 de octubre de 2007
Los archivos siguientes están disponibles para descargarlos del Centro de descarga de Microsoft:
Contraer esta imagenAmpliar esta imagen
Download
Download the Update for Windows Server 2008 (KB943509) package now.
Contraer esta imagenAmpliar esta imagen
Download
Download the Update for Windows Server 2008 for Itanium-based Systems (KB943509) package now.
Contraer esta imagenAmpliar esta imagen
Download
Download the Update for Windows Server 2008 x64 Edition (KB943509) package now.
Contraer esta imagenAmpliar esta imagen
Download
Download the Update for Windows Vista (KB943509) package now.
Contraer esta imagenAmpliar esta imagen
Download
Download the the Update for Windows Vista for x64-based Systems (KB943509) package now.

Solución

Si no se puede aplicar la revisión descrita en Microsoft Knowledge Base el artículo 943509, utilice uno de los métodos siguientes para evitar este problema:
  • Actualizar la aplicación. Para ello, copie los datos recuperados de la variable original de C++ en una nueva variable. A continuación, insertar o actualizar los datos de la nueva variable.
  • Actualizar el diseño de la base de datos. Para ello, utilice uno de los métodos siguientes:
    • Modificar los anchos de columna en un carácter mayor que cualquier datos esperados.
    • Vuelva a definir el ancho como una longitud fija no.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Propiedades

Id. de artículo: 952337 - Última revisión: lunes, 09 de junio de 2008 - Versión: 2.0
La información de este artículo se refiere a:
  • 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 Edition
  • 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
  • Microsoft Visual C++ .NET 2003 Standard
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Professional
  • Microsoft Visual C++ .NET 2002 Standard
  • 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
  • Service Pack 1 para Windows Vista
  • 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
Palabras clave: 
kbmt kbtshoot kbpubtypekc kberrmsg kbprb KB952337 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 952337

Enviar comentarios

 

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