Recibe errores inesperados cuando utiliza ADO y ADO MD en una aplicación de.NET Framework

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a 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.

Síntomas

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

Causa

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

Porque no están destinados a utilizarse de esta forma, 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 interoperabilidad. Estas tecnologías están desarrolladas específicamente para proporcionar acceso a datos en aplicaciones de.NET Framework y no requieren la complejidad agregada de la interoperabilidad COM.

Estado

No habrá ningún futuras correcciones o mejoras a estos componentes para corregir los problemas que sólo ocurren en una aplicación administrada de.NET Framework. Por lo general, esto no afecta a futuras correcciones o mejoras de ADO y ADO MD. Seguiremos para solucionar los problemas que se producen desde el uso de ADO y ADO MD en aplicaciones no administradas, incluyendo Microsoft Visual Basic 6.0, Microsoft Visual C++ y Microsoft ASP.

Solución alternativa

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, la página se puede ejecutar en un subproceso de apartamento de un único subproceso (STA). Ejecución de una página en un subproceso STA, reduce la posibilidad de acceso multiproceso inesperado para el objeto ADO o para el objeto de ADO MD.

Nota: Utilícelo sólo como una solución temporal mientras se está migrando el código 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, no puede evitar todos los problemas. No utilice esta solución como una solución a largo plazo.

Referencias

ADO.NET se proporciona como parte de la de Microsoft.NET Framework. Para obtener más información acerca de la de.NET Framework, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):El siguiente archivo está disponible para su descarga desde el Centro de descarga de Microsoft:
Download Descargar ahora el paquete ADOMD.NET. Para obtener información adicional acerca de cómo descargar archivos de Microsoft Support, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
119591 cómo obtener archivos de soporte técnico de Microsoft desde los servicios en línea
Microsoft analizó este archivo en busca de virus. Microsoft ha utilizado el software de detección de virus más reciente que estaba disponible en la fecha en que se publicó el archivo. El archivo se almacena en servidores seguros que ayudan a impedir cambios no autorizados en el archivo.
Propiedades

Id. de artículo: 840667 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios