Ejecución en paralelo en ADO.NET

La ejecución en paralelo en .NET Framework es la posibilidad de ejecutar una aplicación en un equipo que tiene instaladas varias versiones de .NET Framework, utilizando exclusivamente la versión para la que se ha compilado la aplicación. Para obtener más información sobre la configuración de la ejecución en paralelo, consulte Ejecución en paralelo.

Una aplicación compilada mediante una versión de .NET Framework se puede ejecutar en otra versión de .NET Framework. No obstante, se recomienda compilar una versión de la aplicación por cada versión instalada de .NET Framework y ejecutarlas por separado. En cualquier caso, debe tener en cuenta los cambios entre las diferentes versiones de ADO.NET que pueden afectar a la compatibilidad con versiones posteriores o anteriores de la aplicación.

Compatibilidad con versiones anteriores y posteriores

La compatibilidad con versiones posteriores implica que una aplicación se puede compilar con una versión anterior de .NET Framework, aunque se podrá ejecutar asimismo correctamente en una versión posterior de .NET Framework. El código ADO.NET escrito para .NET Framework versión 1.1 es compatible con versiones posteriores.

La compatibilidad con versiones anteriores significa que una aplicación compilada para una versión posterior de .NET Framework se ejecuta también en versiones anteriores de .NET Framework, sin que su funcionalidad se vea afectada. Por supuesto, no será así en el caso de las características incluidas en una versión nueva de .NET Framework.

Proveedor de datos .NET Framework para ODBC

A partir de la versión 1.1, el proveedor de datos de .NET Framework para ODBC (System.Data.Odbc) se incluye como parte de .NET Framework.

Si ha programado una aplicación para la versión 1.0 de .NET Framework que usa el proveedor de datos de ODBC para conectarse al origen de datos y desea ejecutar dicha aplicación en .NET Framework versión 1.1 o posteriores, debe actualizar el espacio de nombres del proveedor de datos de ODBC a System.Data.Odbc. A continuación, debe compilarla de nuevo para la nueva versión de .NET Framework.

Si ha programado una aplicación para la versión 2.0 o posterior de .NET Framework que usa el proveedor de datos de ODBC para conectarse al origen de datos y desea ejecutar dicha aplicación en la versión 1.0 de .NET Framework, debe descargar el proveedor de datos de ODBC e instalarlo en el sistema de la versión 1.0 de .NET Framework. A continuación debe cambiar el espacio de nombres del proveedor de datos de ODBC a Microsoft.Data.Odbc y recompilar la aplicación para la versión 1.0 de .NET Framework.

Proveedor de datos .NET Framework para Oracle

A partir de la versión 1.1, el proveedor de datos de .NET Framework para Oracle (System.Data.OracleClient) se incluye como parte de .NET Framework.

Si ha programado una aplicación para la versión 2.0 o posterior de .NET Framework que usa el proveedor de datos para conectarse al origen de datos y desea ejecutar esta aplicación en la versión 1.0 de .NET Framework, debe descargar el proveedor de datos e instalarlo en el sistema de la versión 1.0 de .NET Framework.

Seguridad de acceso del código

Sin embargo, desde la versión 2.0 de .NET Framework se pueden usar todos los proveedores de datos de .NET Framework en zonas de confianza parcial. Además, se agregó una nueva característica de seguridad a los proveedores de datos de .NET Framework en .NET Framework versión 1.1. Esta característica le permite restringir las cadenas de conexión que se pueden utilizar en una zona de seguridad determinada. Es posible también deshabilitar el uso de contraseñas en blanco para una zona de seguridad determinada. Para obtener más información, consulta Code Access Security and ADO.NET.

Debido a que cada instalación de .NET Framework tiene un archivo Security.config independiente, no existen problemas de compatibilidad con la configuración de la seguridad. Sin embargo, si la aplicación depende de las capacidades de seguridad adicionales de ADO.NET incluidas en la versión 1.1 de .NET Framework y posteriores, no podrá distribuir la aplicación a un sistema de la versión 1.0.

Ejecución de SqlCommand

En la versión 1.1 de .NET Framework y posteriores, ExecuteReader solo ejecuta un comando en el contexto del procedimiento almacenado sp_executesql si dicho comando contiene parámetros, ya que de esta forma mejora el rendimiento. Como consecuencia, si un comando que influye en el estado de la conexión se incluye en un comando sin parámetros, modifica el estado de la conexión de todos los comandos posteriores que se ejecuten mientras la conexión esté abierta.

Tomemos como ejemplo el siguiente lote de comandos, que se ejecuta en una llamada a ExecuteReader.

SET NOCOUNT ON;  
SELECT * FROM dbo.Customers;  

NOCOUNT permanecerá en ON para los comandos que se ejecuten posteriormente, mientras la conexión esté abierta.

Consulte también