Recibe errores inesperados al utilizar ADO y ADO MD en una aplicación de .NET Framework

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

Síntomas

En una aplicación de Microsoft .NET Framework, puede utilizar ActiveX Data Objects (ADO) y Microsoft ActiveX Data Objects (multidimensional) (ADO MD) a través de interoperabilidad COM. A veces, bajo carga, las aplicaciones de .NET Framework que utilizan estas tecnologías experimentar errores inesperados como bloqueos y otras excepciones intermitentes. Esto es especialmente común con aplicaciones multiproceso, como aquellos que ejecutan en Microsoft ASP.NET.

Causa

ADO y ADO MD se diseñaron antes del lanzamiento de .NET Framework y se han diseñado para utilizarse en un entorno no administrado del modelo de objetos componentes (COM). Aunque puede tener acceso a estas tecnologías a través de interoperabilidad COM, no se recomienda que haga esto. Esto incluye el uso del ensamblado de interoperabilidad de primario de ADO que se incluye con Visual Studio.NET.

Porque no está diseñadas para utilizarse en este modo, ADO y ADO MD no han sido muy probados en escenarios de interoperabilidad.

Solución

Recomendamos que utilice Microsoft ADO.NET o ADOMD.NET de Microsoft en lugar de utilizar ADO CLÁSICO o ADO MD mediante la interoperabilidad. Estas tecnologías desarrolladas específicamente para proporcionar acceso a datos en aplicaciones de .NET Framework y no requieren la complejidad agregada de interoperabilidad COM.

Estado

No habrá cualquier futuras correcciones o mejoras a estos componentes para corregir problemas que sólo se producen en una aplicación administrada de .NET Framework. Generalmente, esto no afecta a futuras correcciones o mejoras a ADO y ADO MD. Seguiremos para solucionar problemas que se producen el uso de ADO y ADO MD en aplicaciones no administrados, incluidos Microsoft Visual Basic 6.0, Microsoft Visual C++ y Microsoft ASP.

Solución

Para evitar este problema en Microsoft ASP.NET, establezca el atributo ASPCompat de la directiva @ Page en true . Cuando este atributo se establece en true , se puede ejecutar la página en un subproceso de apartamento de un único subproceso (STA). Ejecutar una página en un subproceso STA reduce la posibilidad de acceso multiproceso inesperados al objeto ADO o para el objeto de ADO MD.

Nota Sólo use esto como una solución temporal mientras se está migrando el código para ADO.NET o ADOMD.NET.

Las aplicaciones de .NET framework que utilizan ADO CLÁSICO deben utilizar al ensamblado de interoperabilidad primario para ADO que se incluye con Visual Studio.NET. Esta solución puede reducir algunos problemas. Sin embargo, es posible que no impide todos los problemas. No utilice esta solución como solución a largo plazo.

Referencias

ADO.NET se proporciona como parte de Microsoft .NET Framework. Para obtener más información acerca de .NET Framework, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/netframework/default.aspx
El archivo siguiente está disponible para descargarlo del Centro de descarga de Microsoft:
Contraer esta imagenAmpliar esta imagen
Download
Download the ADOMD.NET package now.Para obtener información adicional acerca de cómo descargar los archivos de soporte técnico de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
119591Cómo obtener Archivos de soporte técnico de Microsoft desde los servicios en línea
Microsoft exploró este archivo en busca de virus. con el software de detección de virus más reciente disponible en la fecha de publicación. Asimismo, el archivo se almacenó en servidores seguros que ayudan a impedir la realización de cambios no autorizados.

Propiedades

Id. de artículo: 840667 - Última revisión: miércoles, 27 de diciembre de 2006 - Versión: 1.4
La información de este artículo se refiere a:
  • Microsoft ActiveX Data Objects 2.7
  • Microsoft SQL Server 2000 Analysis Services
Palabras clave: 
kbmt kbtshoot kbprb kbinfo KB840667 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): 840667
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

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