sábado, 12 de abril de 2014

Proveedores de Datos .NET



Un proveedor de datos de .NET Framework sirve para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Esos resultados se procesan directamente o se colocan en un DataSet de ADO.NET con el fin de exponerlos al usuario para un propósito específico, junto con datos de varios orígenes, o de utilizarlos de forma remota entre niveles. El diseño del proveedor de datos de .NET Framework hace que sea ligero, de manera que cree un nivel mínimo entre el origen de datos y su código, con lo que aumenta el rendimiento sin sacrificar la funcionalidad. 
En la siguiente tabla se describen los cuatro objetos centrales que constituyen un proveedor de datos de .NET Framework: 


Objeto Descripción
Connection Establece una conexión a un origen de datos determinado.
Command Ejecuta un comando en un origen de datos. Expone Parameters y puede ejecutarse en el ámbito de un objeto Transaction de Connection.
DataReader Lee una secuencia de datos de sólo avance y sólo lectura desde un origen de datos.
DataAdapter Llena un DataSet y realiza las actualizaciones necesarias en el origen de datos.

.NET Framework incluye el proveedor de datos de .NET Framework para SQL Server (para Microsoft SQL Server 7.0 o posterior), el proveedor de datos de .NET Framework para OLE DB Y el proveedor de datos de .NET Framework para ODBC. 

  • Proveedor de datos de .NET Framework para SQL Server 

El proveedor de datos de .NET Framework para SQL Server utiliza su propio protocolo para establecer comunicaciones con SQL Server. Es ligero y presenta un buen rendimiento porque está optimizado para tener acceso a SQL Server directamente, sin agregar una capa OLEDB u ODBC. En la siguiente ilustración se compara el proveedor de datos de .NET Framework para SQL Servery el proveedor de datos de .NET Framework para OLEDB. El proveedor de datos de .NET Framework para OLEDB se comunica con un origen de datos OLEDB tanto a través del componente de servicio OLEDB, que proporciona agrupación de conexiones y servicios de transacción, como del proveedor OLEDB correspondiente al origen de datos. 

Nota: El proveedor de datos de .NET Framework para ODBC cuenta con una arquitectura similar a la del proveedor de datos de .NET Framework para OLE DB; por ejemplo llama a un componente de servicio ODBC.


Proveedores de datos de .NET Framework

Para utilizar el proveedor de datos de .NET Framework para SQL Server, debe tener acceso a Microsoft SQL Server 7.0 o posterior. Las clases del proveedor de datos de .NET Framework para SQL Server están ubicadas en el espacio de nombres System.Data.SqlClient. Para las versiones anteriores de Microsoft SQL Server, use el proveedor de datos de .NET Framework para OLEDB con el proveedor OLEDB de SQL Server (SQLOLEDB). 

  • Proveedor de datos de .NET Framework para OLEDB 

El proveedor de datos de .NET Framework para OLEDB utiliza OLEDB nativo para permitir el acceso a datos mediante la interoperabilidad COM. El proveedor de datos de .NET Framework para OLEDB admite tanto transacciones locales como las transacciones distribuidas. En el caso de las transacciones distribuidas, el proveedor de datos de .NET Framework para OLEDB se inscribe automáticamente y de forma predeterminada en una transacción y obtiene los detalles de la misma a través de los servicios de componentes de Windows 2000. 

Para utilizar el proveedor de datos de .NET Framework para OLEDB, debe usar un proveedor OLEDB que sea compatible con las interfaces OLEDB enumeradas en Interfaces OLEDB que utiliza el proveedor de datos de .NET Framework para OLEDB. 

En la siguiente tabla se muestra los proveedores de datos OLEDB en ADO .NET 


Controlador
Proveedor
SQLOLEDB
Proveedor OLEDB para SQL Server de Microsoft.
MSDAORA
Proveedor OLEDB para Oracle de Microsoft.
Microsoft.Jet.OLEDB.4.0
Proveedor OLEDB para Microsoft Jet.

Nota: No se recomienda el uso de una base de datos de Access (Jet) como origen de datos de aplicaciones multiproceso, como las aplicaciones ASP.NET. Si tiene que utilizar Access como origen de datos de una aplicación ASP.NET y no puede utilizar otra alternativa, como SQL Server o MSDE, tenga presente que las aplicaciones ASP.NET que se conectan a una base de datos de Access pueden presentar problemas de conexión, normalmente relacionados con los permisos de seguridad.

  • Proveedor de datos de .NET Framework para ODBC 

El proveedor de datos de .NET Framework para ODBC utiliza el Administrador de controladores ODBC nativo para permitir el acceso a datos mediante la interoperabilidad COM. El proveedor de datos de ODBC admite tanto transacciones locales como transacciones distribuidas. En el caso de las transacciones distribuidas, el proveedor de datos de ODBC se inscribe autornáticamente y de forma predeterminada en una transacción y obtiene los detalles de la misma a través de los servicios de componentes de Windows 2000. 

En la siguiente tabla se muestran los controladores ODBC que se han probado con ADO .NET: 


Controlador
SQLServer
Microsoft ODBC para Oracle
Microsoft Access Driver (*.mdb)

Las clases del proveedor de datos de .NET Framework para ODBC están ubicadas en el espacio de nombres System.Data.Odbc.

  • Proveedor de datos de .NET Framework para Oracle 

El proveedor de datos de .NET Framework para Oracle permite el acceso a datos de orígenes de datos de Oracle mediante el software de conectividad de cliente de Oracle. El proveedor de datos es compatible con la versión 8.1.7 y posteriores del software de cliente de Oracle. Dicho proveedor admite tanto transacciones locales como transacciones distribuidas (el proveedor de datos se inscribe automáticamente en las transacciones distribuidas existentes, pero actualmente no admite el método EnlistDistributedTransaction). 

El proveedor de datos de .NET Framework para Oracle requiere que el sistema tenga instalado el software de cliente de Oracle (versión 8.1.7 o posterior) antes de que pueda utilizarlo para conectarse a un origen de datos de Oracle. 

Las clases del proveedor de datos de .NET Framework para Oracle están ubicadas en el espacio de nombres System.Data.OracleClient y se incluyen en el ensamblado System.Data.OracleClient.dll. Al compilar una aplicación que utiliza el proveedor de datos, será necesario hacer referencia tanto a System.Data.dll como a System.Data.OracleClient.dll. 

  • Elegir un proveedor de datos de .NET Framework 

En función del diseño y del origen de datos de su aplicación, su elección del proveedor de datos de .NET Framework puede mejorar el rendimiento, las características y la integridad de su aplicación. 
En la siguiente tabla se describen las ventajas y las limitaciones de cada proveedor de datos de .NET Framework. 

Proveedor Notas
Proveedor de datos de .NET Framework para SQLServer "Recomendado para aplicaciones de nivel medio que utilizan Microsoft SQL Server 7.0 o posterior. Recomendado para aplicaciones de un único nivel que utilizan Microsoft Data Engine (MSDE) o Microsoft SQL Server 7.0 o posterior. Recomendado en lugar de utilizar el proveedor OLE DB para SQL Server (SQLOLEDB) con el proveedor de datos de .NET Framework para OLE DB.En el caso de la versión 6.5 y versiones anteriores de Microsoft SQL Server, debe utilizar el proveedor OLE DB para SQL Server con el proveedor de datos de .NET Framework para OLE DB.
Proveedor de datos de .NET Framework para OLEDB "Recomendado para aplicaciones de nivel medio que utilizan Microsoft SQL Server 6.5 o anteriores, o cualquier proveedor OLE DB que admita las interfaces OLE DB numeradas (las interfaces OLE DB 2.5 no son necesarias). Para Microsoft SQL Server 7.0 o posterior, se recomienda el proveedor de datos de .NET Framework para SQL Server.Recomendado para aplicaciones de un único nivel que utilizan bases de datos de Microsoft Access.
Proveedor de datos de .NET Framework para ODBCRecomendado para aplicaciones de nivel medio que utilizan orígenes de datos de ODBC.
Proveedor de datos de .NET Framework para Oracle Recomendado para aplicaciones de nivel medio que utilizan orígenes de datos de Oracle.
Compatible con la versión 8.1.7 Y posteriores del software de cliente de Oracle.Las clases del proveedor de datos de .NET Framework para Oracle están ubicadas en el espacio de nombres System.Data.OracleClient y se incluyen en el ensamblado System.Data.OracleClient.dll. Al compilar una aplicación que utiliza el proveedor de datos, es necesario hacer referencia tanto a System.Data.dll como a System.Data.OracleClient.dll.

Espero haber ayudado en algo. Hasta la próxima oportunidad!



No hay comentarios:

Publicar un comentario en la entrada