DBProviderFactory

download DBProviderFactory

of 21

  • date post

    06-Sep-2014
  • Category

    Documents

  • view

    109
  • download

    0

Embed Size (px)

Transcript of DBProviderFactory

Acceso a diferentes proveedores de datos ADO.Net

Introduccin 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

Introduccin a ADO.NETQu 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)

Introduccin a ADO.NETConcepto

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

Proveedor de datosLos proveedores de acceso a datos ADO.NET representan conjuntos especficos de clases que permiten conectarse e interactuar con una base de datos, cada uno utilizando un protocolo particular .

Proveedores de Acceso a DatosEl .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)

Proveedores de Acceso a DatosADO.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

ADO.NET 1.x Los proveedores de acceso a datos trabajan cada uno

con su conjunto de clases independientes, por ejemplo: 4 clases para representar una conexin, todas implementando una misma interfaz SqlConnection OracleConnection

OdbcConnection OleDbConnection

De esta forma, tenemos tantas clases XxxCommand,

XxxDataAdapter, XxxConnection y XxxDataReader como proveedores de acceso haya en ADO.NET.

ADO.NET- Clases ms comunesBase de Datos Maneja la coneccin a una base de datos Ejecuta> comandos contra una base de datos XxxConnection Intercambia datos entre un dataset y una base de datos Copia local de datos relacionales XxxDataAdapter DataSet XxxDataReader

XxxCommand

Provee acceso a datos read-only, Forward-only

ADO.NET 2.0Las clases han sido modificadas y reorganizadas para proveer ahora una API (Interfaz de Programacin de Aplicaciones) limpia, consistente y genrica para todos los tipos de proveedores.

ADO.NET 2.0El corazn 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 cdigo ADO.NET que funcione con todos los

proveedores de datos de .NET Framework.

ADO.NET 2.0 API Independiente

Namespace System.Data.CommonDbCommandBuilder DbDataAdapter DbConnection DbDataReader

DbCommand DataAdapter DbParameter

DbParameterCollection DbTransaction DbException

DbProviderFactory DbProviderFactories

ADO.NET 2.0 API IndependienteInterfaces IDb* (ej: IDbConnection)ProviderIndependiente del cdigo de la aplicacin en esta capa

clases base abstractas Db* (ej: DbConnection)

Implementa la clase base Db*

Sql

OleDb

ODBC

Oracle

3rd

3rd

Party 1

Party 2

Providerespecfico en el cdigo de la aplicacin en esta capa

ADO.NET - Providers FactoryIndependizar cdigo del proveedor de datos

DbProviderFactoryRepresenta un conjunto de mtodos para crear instancias de la implementacin de un proveedor de las clases de origen de datos.

El proceso de obtencin de DbProviderFactoryImplica pasar informacin sobre un proveedor de datos a la clase DbProviderFactories. En funcin de esta informacin, el mtodo GetFactory crea un generador del proveedor fuertemente tipado. Ej: para crear SqlClientFactory, se le pasa al mtodo GetFactory(System.Data.SqlClient

DbProviderFactory - MetodosNombreCreateCommand

DescripcinDevuelve una nueva instancia de la clase del proveedor que implementa la clase DbCommand. Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbConnection. Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbDataAdapter. Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbParameter.

CreateConnection

CreateDataAdapter

CreateParameter

DbConnectionEstablece una sesin con una fuente de datos Implementada por: SqlConnection,ODBCConnection,OleDbConnectio n, etc. Funcionalidad Abrir y Cerrar conexiones Gestionar Transacciones Usada conjuntamente con objetos DbCommand y DataAdapter

DbCommandRepresenta una sentencia que se enva a una fuente de datos Implementada por SqlCommand, OleDbCommand, etc. Funcionalidad Definir la sentencia a ejecutar Ejecutar la sentencia Enviar y recibir parmetros

Acceso a Distintas Bases de DatosMi AplicacinArchivo de Configuracin

MS SQL

MySQL

Oracle

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