ado net framemork
ADO.NET
Integración de Sistemas
Diseño e implementación con .NET
Introducción a ADO.NET
ADO.NET es el modelo de acceso a datos para
las aplicaciones basadas en .NET
Se puede utilizar para acceder a sistemas de
base de datos relacionales. Ejemplos:
SQL Server, Oracle, etc.
Muchas otras fuentes de datos (para las cuales existe
un proveedor OLE DB u ODBC)
Soporteintrínseco para XML
Programación Orientada a Componentes
1
ADO.NET
Evolución histórica
ODBC (Open DataBase Connectivity)
Interoperatibilidad con amplio rango de SGBD
API acceso ampliamente aceptada
Usa SQL como lenguaje de acceso a datos
DAO (Data Access Objects)
Interfaz de programación para bases de datos JET/ISAM (e.g.
MS Access)
ADO.NET
Evolución histórica
RDO (Remote DataObjects)
Estrechamente ligado a ODBC
Orientado a aplicaciones cliente/servidor
OLE DB (Object Linking and Embedding for Databases)
No restringrido a acceso a datos relacionales
No limitado a SQL como lenguaje de recuperación de datos
Tecnología desarrollada por Microsoft
Construido sobre COM (Component Object Model)
Proporciona una interfaz a bajo nivel en C++
2
ADO.NETEvolución histórica
ADO (ActiveX Data Objects)
Ofrece una interfaz orientada a objetos
Proporciona un modelo de programación para OLE DB
accesible desde lenguajes diferentes a C++
Diseñado como modelo conectado, altamente acoplado
Indicado para arquitecturas cliente/servidor
No pensado para arquitecturas multicapa en entornos
distribuidos
Diseño no correctamente factorizado
Demasiadas manerasde hacer lo mismo
Algunos objectos acaparan demasiada funcionalidad
ADO.NET
¿Qué es ADO.NET?
Colección de clases, interfaces, estructuras y
enumeraciones que permiten acceder a diversas fuentes
de datos (BD, XML, etc.) desde la plataforma .NET
Organizada en namespaces:
System.Data
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
Etc.
Evolución de ADO
No comparte con éstesu jerarquía de clases
Sí comparte su funcionalidad
Usa internamente XML
3
ADO.NET
Arquitectura Framework .NET
VB
C++
C#
J#
…
Common Language Specification
ASP.NET
Windows Forms
ADO.NET y XML
Base Class Library
Common Language Runtime
Windows
COM+ Services
ADO.NET
Conceptos Básicos y Arquitectura
Modelo de objetos
Objetos de System.Data
Proveedoresde acceso a datos .NET
Jerarquía de espacio de nombres (namespace)
Organiza el modelo de objetos
Incluye:
System.Data
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
System.Data.SqlTypes
4
ADO.NET
Proveedores de Acceso a Datos (Data Providers)
OLE DB .NET
Data Provider
OLE DB
Provider
Otra BD
ODBC .NET
Data Provider
ODBC
Driver
Otra BD
ClienteSQL .NET
Data Provider
SQL SERVER
Oracle .NET
Data Provider
Oracle SERVER
…
ADO.NET
Proveedores de Acceso a Datos
Proporcionan un conjunto de clases que implementan una serie de
interfaces comunes
ADO.NET
OLE DB
Acceso vía protocolo OLE DB a cualquier fuente de datos que lo soporte
System.Data.OleDb
ODBC
Acceso vía protocolo ODBC a cualquier fuente de datos que losoporte
System.Data.Odbc
SQL Server
Acceso nativo a MS SQL Server 7.0 o superior y MS Access
System.Data.SqlClient
Oracle
Acceso nativo a Oracle Server
System.Data.OracleClient
Otros provistos por terceros
MySQL, PostgreSQL, DB2, etc.
5
ADO.NET
Proveedores de Acceso a Datos
public static void ListProviders() {
DataTable factoryTable = DbProviderFactories.GetFactoryClasses();foreach (DataRow dr in factoryTable.Rows) {
Console.WriteLine("Name: {0}", dr["Name"]);
Console.WriteLine("Description: {0}", dr["Description"]);
Console.WriteLine("InvariantName: {0}", dr["InvariantName"]);
Console.WriteLine("AssemblyQualifiedName: {0}",
dr["AssemblyQualifiedName"]);
}
}
// Sample Output
//Name: SqlClient Data Provider
//Description: .Net Framework Data Provider for...
Regístrate para leer el documento completo.