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)
Soporte intrínsecopara 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 Data Objects)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.NET
Evolución históricaADO (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 maneras de hacer lo mismoAlgunos 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 éste su jerarquía de clasesSí 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 Proveedores de acceso a datos .NET
Jerarquía deespacio 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
Cliente
SQL .NET Data Provider SQL SERVER
Oracle .NET DataProvider
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 lo soporte System.Data.Odbc
SQL Server
Acceso nativo a MS SQLServer 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 SqlServer //InvariantName: System.Data.SqlClient //AssemblyQualifiedName:...
Regístrate para leer el documento completo.