Compartir a través de


Proveedores de datos de .NET Framework

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 tabla siguiente 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.

Nota   El proveedor de datos de .NET Framework para ODBC no está incluido en .NET Framework versión 1.0. Si requiere el proveedor de datos de .NET Framework para ODBC y está utilizando .NET Framework versión 1.0, puede descargar dicho proveedor desde el sitio https://msdn.microsoft.com/downloads. El espacio de nombres del proveedor de datos de .NET Framework para ODBC descargado es Microsoft.Data.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 OLE DB u ODBC. En la siguiente ilustración se compara el proveedor de datos de .NET Framework para SQL Server y el proveedor de datos de .NET Framework para OLE DB. El proveedor de datos de .NET Framework para OLE DB se comunica con un origen de datos OLE DB tanto a través del componente de servicio OLE DB, que proporciona agrupación de conexiones y servicios de transacción, como del proveedor OLE DB 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.

Comparación entre el proveedor de datos de .NET Framework para SQL Server y el proveedor de datos de .NET Framework para OLE DB

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 OLE DB con el proveedor OLE DB de SQL Server (SQLOLEDB).

El proveedor de datos de .NET Framework para SQL Server admite tanto transacciones locales como las transacciones distribuidas. En el caso de las transacciones distribuidas, el proveedor de datos de .NET Framework para SQL Server se inscribe automáticamente y de forma predeterminada en una transacción y obtiene los detalles de la misma desde los servicios de componentes de Windows 2000. Para obtener más información, vea Realizar transacciones.

En el siguiente ejemplo de código se muestra cómo puede incluir el espacio de nombres System.Data.SqlClient en sus aplicaciones.

Imports System.Data.SqlClient
[C#]
using System.Data.SqlClient;

El proveedor de datos de .NET Framework para SQL Server requiere la instalación de la versión 2.6 o posterior de Microsoft Data Access Components (MDAC).

Proveedor de datos de .NET Framework para OLE DB

El proveedor de datos de .NET Framework para OLE DB utiliza OLE DB nativo para permitir el acceso a datos mediante la interoperabilidad COM. El proveedor de datos de .NET Framework para OLE DB admite tanto transacciones locales como las transacciones distribuidas. En el caso de las transacciones distribuidas, el proveedor de datos de .NET Framework para OLE DB 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 obtener más información, vea Realizar transacciones.

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

En la siguiente tabla se muestra los proveedores que se han probado con ADO.NET.

Controlador Proveedor
SQLOLEDB Proveedor OLE DB para SQL Server de Microsoft
MSDAORA Proveedor OLE DB para Oracle de Microsoft
Microsoft.Jet.OLEDB.4.0 Proveedor OLE DB 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. Para obtener ayuda a la hora de solucionar los problemas de conexión que puedan presentarse al utilizar una base de datos de Access y ASP.NET, vea el artículo en inglés Q316675 "PRB: Cannot Connect to Access Database from ASP.NET" en Microsoft Knowledge Base, ubicada en la dirección https://support.microsoft.com.

El proveedor de datos de .NET Framework para OLE DB no admite las interfaces de la versión 2.5 de OLE DB. Los proveedores OLE DB que requieren compatibilidad con interfaces de la versión 2.5 de OLE DB no funcionarán correctamente con el proveedor de datos de .NET Framework para OLE DB. Entre ellos se incluye el proveedor OLE DB para Exchange de Microsoft y el proveedor OLE DB para Publicación en Internet de Microsoft.

El proveedor de datos de .NET Framework para OLE DB no funciona con el proveedor OLE DB para ODBC (MSDASQL). Para obtener acceso a un origen de datos de ODBC mediante ADO.NET, utilice el proveedor de datos de .NET Framework para ODBC.

Las clases del proveedor de datos de .NET Framework para OLE DB están ubicadas en el espacio de nombres System.Data.OleDb. En el siguiente ejemplo de código se muestra cómo puede incluir el espacio de nombres System.Data.OleDb en sus aplicaciones.

Imports System.Data.OleDb
[C#]
using System.Data.OleDb;

El proveedor de datos de .NET Framework para OLE DB requiere la instalación de MDAC 2.6 o posterior.

Proveedor de datos de .NET Framework para ODBC

El proveedor de datos de .NET Framework para ODBC utiliza el Administrador de controladores ODBC nativos 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 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 obtener más información, vea Realizar transacciones.

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

Controlador
SQL Server
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.

Nota   El proveedor de datos de .NET Framework para ODBC no está incluido en .NET Framework versión 1.0. Si requiere el proveedor de datos de .NET Framework para ODBC y está utilizando .NET Framework versión 1.0, puede descargar dicho proveedor desde el sitio https://msdn.microsoft.com/downloads. El espacio de nombres del proveedor de datos de .NET Framework para ODBC descargado es Microsoft.Data.Odbc.

En el siguiente ejemplo de código se muestra cómo puede incluir el espacio de nombres System.Data.Odbc en sus aplicaciones.

Imports System.Data.Odbc
[C#]
using System.Data.Odbc;

El proveedor de datos de .NET Framework para ODBC requiere la instalación de MDAC 2.6 o posterior. Se recomienda instalar MDAC 2.7.

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). Para obtener más información, vea Realizar transacciones.

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.

Nota   El proveedor de datos de .NET Framework para Oracle no está incluido en .NET Framework versión 1.0. Si requiere el proveedor de datos de .NET Framework para Oracle y está utilizando .NET Framework versión 1.0, puede descargar dicho proveedor del sitio https://msdn.microsoft.com/downloads.

En el siguiente ejemplo de código se muestra cómo puede incluir el espacio de nombres System.Data.OracleClient en sus aplicaciones.

Imports System.Data.OracleClient
[C#]
using System.Data.OracleClient;

El proveedor de datos de .NET Framework para Oracle requiere la instalación de MDAC 2.6 o posterior.

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 SQL Server 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 OLE DB 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 enumeradas en Interfaces OLE DB que utiliza el proveedor de datos de .NET Framework para OLE DB (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. Use of a Microsoft Access database for a middle-tier application is not recommended.

Proveedor de datos de .NET Framework para ODBC Recomendado para aplicaciones de nivel medio que utilizan orígenes de datos de ODBC.

Recomendado para aplicaciones de un único nivel que utilizan orígenes de datos de ODBC.

Nota   El proveedor de datos de .NET Framework para ODBC no está incluido en .NET Framework versión 1.0. Si requiere el proveedor de datos de .NET Framework para ODBC y está utilizando .NET Framework versión 1.0, puede descargar dicho proveedor desde el sitio https://msdn.microsoft.com/downloads. El espacio de nombres del proveedor de datos de .NET Framework para ODBC descargado es Microsoft.Data.Odbc.
Proveedor de datos de .NET Framework para Oracle Recomendado para aplicaciones de nivel medio que utilizan orígenes de datos de Oracle.

Recomendado para aplicaciones de un único nivel 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.

Note   The .NET Framework Data Provider for Oracle is not included in the .NET Framework version 1.0. If you require the .NET Framework Data Provider for Oracle and are using the .NET Framework version 1.0, you can download the .NET Framework Data Provider for Oracle at https://msdn.microsoft.com/downloads.

Vea también

Overview of ADO.NET | ADO.NET Architecture | Using .NET Framework Data Providers to Access Data