dbproviderfactory
Post on 06-Sep-2014
126 Views
Preview:
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”
DbProviderFactory - Metodos
Nombre Descripción CreateCommand Devuelve una nueva instancia de la
clase del proveedor que implementa la clase DbCommand.
CreateConnection Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbConnection.
CreateDataAdapter Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbDataAdapter.
CreateParameter Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbParameter.
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