Proveedor MSDASQL mal Handles SQL_NUMERIC_STRUCT Negatively Scaled valores

Seleccione idioma Seleccione idioma
Id. de artículo: 274604 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Cuando se leen negativamente a escala de valores numéricos de un controlador ODBC mediante el uso del proveedor OLE DB para ODBC (MSDASQL) con la enumeración de cursor de ActiveX Data Objects (ADO) adUseClient , se truncan los valores que se devuelven.

Solución

Para resolver este problema, obtenga el service pack más reciente de Microsoft MDAC 2.5. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
293312INFO: Cómo obtener la más reciente de MDAC 2.5 Service Pack
La versión en inglés de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version      Size     File Name
   --------------------------------------------------------------------
   31-Jan-2001  18:20  2.53.6131.0  303,376  Msdasql.dll
   31-Jan-2001  18:18  2.53.6131.0   16,384  Msdasqlr.dll
   31-Jan-2001  18:20  2.53.6131.0   78,096  Msdatl2.dll
   31-Jan-2001  18:20  2.53.6131.0   53,520  Msdatt.dll
   28-Feb-2001  18:00  1.10.101.0   484,408  Q277033_w2k_sp3_x86_en.exe
				

Solución

Para evitar este problema, utilice la enumeración de adUseServer de la propiedad CursorLocation de ADO en lugar de adUseClient .

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:" de este artículo. Este problema se corrigió por primera vez en MDAC 2.5 Service Pack 3 de Microsoft.

Más información

Si abre un objeto ADO Recordset contra cualquier controlador ODBC, el proveedor OLEDB de para ODBC (MSDASQL) se utiliza para proporcionar ODBC a los servicios de traducción de OLE DB. Si el conjunto de resultados que se ha solicitado contiene un campo numérico y si utiliza la enumeración adUseClient de la propiedad CursorLocation , ADO intenta capturar el valor del campo numérico en una estructura de OLEDB DB_NUMERIC.

Si el controlador ODBC subyacente informa de que es compatible con ODBC 3.0, MSDASQL intenta enlazar a valores SQL_NUMERIC_STRUCT directamente en lugar de enlazar una cadena de caracteres. Si el SQL_NUMERIC_STRUCT que devuelve el controlador tiene una escala negativa si el cliente del proveedor MSDASQL solicita un valor DB_NUMERIC, MSDASQL convierte primero la SQL_NUMERIC_STRUCT en un valor DB_VARNUMERIC y a continuación, se convierte en un valor DB_NUMERIC. La conversión final a un valor DB_NUMERIC se procesa incorrectamente si la escala es negativo, lo cual da como resultado un valor truncado.

Propiedades

Id. de artículo: 274604 - Última revisión: lunes, 24 de febrero de 2014 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
Palabras clave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbmdac250sp3fix kbbug kbfix KB274604 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): 274604

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