dbproviderfactory

Post on 06-Sep-2014

126 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Acceso a diferentes proveedores de datos

ADO.Net

ADO.Net Introducción de ADO.Net Proveedores de accedo a datos Mejoras de ADO.Net 2.0 (acceso a datos) Espacio de nombre System.Data.Common DbProviderfactory Ejemplo practico de acceso a distintos motores de base de datos

Introducción a ADO.NET

¿Qué es ADO.NET?

ADO.NET es un conjunto de clases del Microsoft .NET Framework que permiten recuperar y manipular datos de diferentes repositorio.

(Sea Microsoft SQL Server, otros motores de bases de datos, Web Services, y cualquier otro repositorio de datos compatible, por ejemplo, basado en XML)

Introducción a ADO.NET

Concepto

ADO.NET es un intermediario entre el programa consumidor de datos y el repositorio de los mismos.

ADO.NET se comunica con una base de datos mediante un “Proveedor de datos” o “Data Provider”

Los proveedores de acceso a datos ADO.NET representan conjuntos específicos de clases que

permiten conectarse e interactuar con una base de datos, cada uno utilizando un protocolo

particular .

Proveedor de datos

Proveedores de Acceso a Datos

El .NET Framework incluye cuatro proveedores de acceso a datos

SQL Server/Access (System.Data.SqlClient) OLE DB (System.Data.OleDb) ODBC (System.Data.Odbc) Oracle (System.Data.OracleClient)

ADO.NET provee una arquitectura extensible, posibilitando que terceras partes creen sus propios proveedores de acceso nativo para aplicaciones .NET. Algunos ejemplos de esto

son:

• Data Provider para DB2, desarrollado por IBM.• Providers de acceso nativo a bases de datos

OpenSource, como MySQL y PostgreSQL

Proveedores de Acceso a Datos

ADO.NET 1.xLos proveedores de acceso a datos trabajan cada

uno con su conjunto de clases independientes, por ejemplo:

4 clases para representar una conexión, todas implementando una misma interfaz

SqlConnectionOracleConnectionOdbcConnectionOleDbConnection

De esta forma, tenemos tantas clases XxxCommand, XxxDataAdapter, XxxConnection y XxxDataReader como proveedores de acceso haya en ADO.NET.

Base de Datos

XxxConnectionXxxConnection

XxxCommandXxxCommand

DataSetDataSet XxxDataReaderXxxDataReader

XxxDataAdapterXxxDataAdapter

Maneja la conección a una base de datosManeja la conección a una base de datos

Ejecuta> comandos contra una basede datosEjecuta> comandos contra una basede datos

Copia local de datos relacionalesCopia local de datos relacionales

Provee acceso a datos read-only, Forward-onlyProvee acceso a datos read-only, Forward-only

Intercambia datos entre un dataset y una base de datosIntercambia datos entre un dataset y una base de datos

ADO.NET- Clases más comunes

ADO.NET 2.0

Las clases han sido modificadas y reorganizadas para proveer ahora una API (Interfaz de Programación de Aplicaciones) limpia, consistente y genérica para todos los tipos de proveedores.

ADO.NET 2.0

El corazón de esta API lo constituyen una serie de nuevas clases base abstractas, ubicadas en el namespace:

System.Data.Common.

System.Data.Common

El espacio de nombres System.Data.Common contiene clases que comparten los proveedores de datos de .NET Framework.

La finalidad de estas clases es proporcionar a los desarrolladores una forma de escribir código ADO.NET que funcione con todos los proveedores de datos de .NET Framework.

ADO.NET 2.0 – API Independiente

Namespace System.Data.Common

DbCommand DbCommandBuilder DbConnection

DataAdapter DbDataAdapter DbDataReader

DbParameter DbParameterCollection DbTransaction

DbProviderFactory DbProviderFactories DbException

Interfaces IDb* (ej: IDbConnection)

clases base abstractas Db* (ej: DbConnection)

Implementa la clase base Db*

Sql OleDb ODBC Oracle3rd

Party 13rd

Party 2

Provider- Independiente del código de la aplicación en esta capa

Provider-específico en el código de la aplicación en esta capa

ADO.NET 2.0 – API Independiente

ADO.NET - Providers Factory

Independizar código del proveedor de datos

DbProviderFactory

Representa un conjunto de métodos para crear instancias de la implementación de un proveedor de las clases de origen de datos.

El proceso de obtención de DbProviderFactory

Implica pasar información sobre un proveedor de datos a la clase DbProviderFactories. En función de esta información, el método GetFactory crea un generador del proveedor fuertemente tipado.

Ej: para crear SqlClientFactory, se le pasa al método GetFactory(System.Data.SqlClient”

Establece una sesión con una fuente de datos

Implementada por:SqlConnection,ODBCConnection,OleDbConnection, etc.

FuncionalidadAbrir y Cerrar conexionesGestionar TransaccionesUsada conjuntamente con objetos DbCommand y DataAdapter

DbConnection

Representa una sentencia que se envía a una fuente de datos

Implementada por SqlCommand, OleDbCommand, etc.

Funcionalidad• Definir la sentencia a ejecutar• Ejecutar la sentencia• Enviar y recibir parámetros

DbCommand

Acceso a Distintas Bases de Datos

MS SQL

MS SQL MySQL MySQL Oracle Oracle

Archivo de Configuración Mi Aplicación

Nombre de DB: SystemNombre de Tabla: Persona (Persona String)

top related