La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina.

Presentaciones similares


Presentación del tema: "ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina."— Transcripción de la presentación:

1 ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina

2 Lo que vamos a cubrir Entender la diferencia entre ADO y ADO.NET Cómo integrar ADO.NET con.NET utilizando Visual Studio.NET Cómo utilizar las capacidades avanzadas de ADO.NET Cómo aprovechar el soporte XML con ADO.NET

3 Prerrequisitos de la sesión Diseño y programación de la base de datos relacional Programación de Visual Basic 6.0 ADO de Microsoft Entendimiento de XML

4 Agenda Introducción a ADO.NET Programación con ADO.NET Soporte XML Funciones avanzadas ¿Cuándo utilizar qué?

5 Introducción a ADO.NET ¿Qué es ADO.NET? Evolución natural de ADO Interoperabilidad –Basado en estándares como XML, XSD Escalabilidad –Objetivos distribuidos, escenarios web desconectados Modelo –Arquitectura distribuida que reemplaza al cliente / servidor –Integración de datos de diferentes recursos heterogéneos

6 Introducción a ADO.NET ¿Por qué ADO.NET? Para acomodar un modelo de aplicación Web –Unido de manera flexible –Mantiene el estado entre solicitudes –Utiliza HTTP

7 Introducción a ADO.NET Comparación entre ADO y ADO.NET FunciónADOADO.NET Representación de datos residentes en la memoria RecordSet puede contener una tabla DataSet puede contener una o más tablas representadas por Objeto DataTable Relación entre múltiples tablas Requiere la consulta JOIN (UNIRSE) Soporta el objeto DataRelation Visita de datosEscanea de manera secuencial la filas RecordSet Utiliza un paradigma de exploración para acceso no secuencial Acceso desconectado Proporcionado por RecordSet pero generalmente soporta el acceso conectado Se comunica con llamadas estandarizadas al DataAdapter

8 Introducción a ADO.NET Comparación entre ADO y ADO.NET FunciónADOADO.NET ProgramabilidadUtiliza el objeto de conexión para transmitir comandos Utiliza características de programación de XML escritas de manera sólida Uso compartido de datos desconectados entre niveles y componentes Utiliza la clasificación COM para transmitir el conjunto de registros desconectados Transmite un DataSet con un archivo XML Transmisión de datos a traves de Firewalls Problemático ya que los firewall generalmente se configuran para evitar solicitudes a nivel sistema Los objetos DataSet soportados utilizan XML, los cuales pueden atravezar firewalls EscalabilidadSeguros de base de datos y conexiones activas de base de datos para largas duraciones Acceso desconectado a la base de datos sin retener los seguros de la base de datos

9 Introducción a ADO.NET Objetos de datos.NET.NET Data Provider DataReader Command Connection Sync Controls, Designers, Code-gen, etc DataSet XmlReader XmlText-ReaderXmlNode-Reader XSL/T, X-Path, Validation, etc XmlData- Document DataAdapter

10 Introducción a ADO.NET Objetos de datos.NET

11 Agenda Introducción a ADO.NET Programación con ADO.NET Soporte XML Funciones avanzadas ¿Cuándo utilizar qué?

12 . Programación con ADO.NET.NET Data Provider Administra la interacción a una fuente de datos –Administrado equivalente a capa OLE DB –Expone directamente las interfaces del consumidor –Específico para (optimizada para) DataSource Modelo de objeto de.NET Data Provider –Conexión –Comando –DataReader –DataAdapter

13 SQL Server.NET Data Provider OLE DB.NET Data Provider –Microsoft OLE DB Provider for SQL Server –Microsoft OLE DB Provider for Oracle –Microsoft OLE DB Provider for Microsoft Jet ODBC.NET Data Provider. Programación con ADO.NET.NET Data Provider

14 Programación con ADO.NET Conexión Representa una conexión a la Fuente de datos En una conexión, usted puede… –Personalizar la conexión a la base de datos –Iniciar, comprometer y abortar transacciones Equivalente al objeto ADODB.Connection

15 // Ejemplo en C# //Especificar el Namespace System.Data.SQL Using System.Data.SqlClient; // Crear una instancia del objeto SQLConnection SQLConnection cnn = new SQLConnection(); // Definir la cadena de conexión cnn.ConnectionString = "server=localhost;uid=sa;database=pubs"; //Abrir la conexión cnn.Open(); Programación con ADO.NET Conexión

16 Representa un comando que se va a ejecutar –No necesariamente SQL Con un comando ADO usted puede: –Definir un enunciado para que se ejecute en el servidor –Establecer información de parámetros para ese comando –Recuperar valores de retorno de la ejecución del comando Corresponde al objeto ADODB.Command Puede contener parámetros –Valores que se van a utilizar cuando se ejecute el enunciado Programación con ADO.NET Comando

17 ExecuteNonQuery ExecuteReader ExecuteScalar ExecuteXmlReader (únicamente para el objeto SqlCommand) Programación con ADO.NET Comando

18 Acceso a datos rápido, únicamente hacia delante, únicamente de lectura Funciona como un socket Permite un acceso escrito de manera sólida Debe ser cerrado Programación con ADO.NET DataReader

19 Almacén en memoria para datos del cliente Vista relacional de datos –Tablas, columnas, filas, restriciones, relaciones Persisten los datos y el esquema como XML Modelo desconectado explícito –Objeto remoto, desconectado –Índice en forma de arreglo No hay conocimiento de Fuente de datos o Propiedades –Modelo común sobre datos heterogéneos –Características de rendimiento predecibles Programación con ADO.NET DataSet

20 DataSet DataTable DataTable DataRow DataColumn Relationes Restricciones Esquema XML Programación con ADO.NET DataSet

21 ¿Qué es DataRelation? –Se utiliza para relacionar dos objetos DataTable –Las relaciones se crean entre columnas equivalentes en las tablas padre e hijo –Las relaciones también pueden presentar en cascada varios cambios de la fila padre hacia las filas hijo Programación con ADO.NET DataRelation

22 Clase generada al momento del diseño –Hereda de DataSet –Esquema codificado en la clase Beneficios –IntelliSense –Verificación de tipos en tiempo de compilación –Código legible, conciso Programación con ADO.NET Typed DataSet

23 Administra el Intercambio de datos entre DataSet y la Fuente de datos –Llenar (DataSet o DataTable) –Actualizar (DataSet o DataTable) Ofrece Cruces de información entre tablas y columnas El usuario puede anular los comandos Insertar / actualizar / eliminar –Componente de autogeneración disponible Permite que un único DataSet se llene de varios Orígenes de datos diferentes Programación con ADO.NET DataAdapter

24 DataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand TableMappings Base de datos DataSet Programación con ADO.NET DataAdapter

25 // Ejemplo en C# // Crear un DataAdapter SQLDataAdapter objDataAdapter = new SQLDataAdapter( "Select * from authors",cnn); // Cargar los datos en el DataSet objDataAdapter.Fill(pubs, "Authors"); // hacer cambios de datos de clientes en el dataset pubs.Tables["Authors"].Rows[0]["au_lname"]="smith"; objDataAdapter.Update(pubs, "Authors"); objDataAdapter.Update(pubs, "Authors"); Programación con ADO.NET DataAdapter

26 Programación con ADO.NET Recursos para DataBinding DataReader DataTable DataView DataSet Arreglo Colección IList

27 Programación con ADO.NET DataBinding DataView –Concibe a ésta como una vista en DataTable –Permite establecer una solicitud de clasificación y Filtro en una vista de la tabla –Puede crear cualquier número de DataViews en una tabla para permitir diferentes vistas de la misma tabla

28 Demostración 1 DataSet, DataAdapter y DataReader

29 Agenda Introducción a ADO.NET Programación con ADO.NET Soporte XML Funciones avanzadas ¿Cuándo utilizar qué?

30 Soporte XML ADO.NET y XML DataSet –Carga / guarda datos XML dentro / fuera de DataSet –El esquema se puede cargar / guardar como XSD –El esquema se puede inferir de datos XML XmlDataDocument –Expone una vista relacional sobre XML estructurado –Permite una escritura, unión de control, acceso relacional sólidos de datos XML –Permite herramientas XML (validación de esquemas, XSL/T, consultas Xpath) contra datos relacionales –Preserva una fidelidad total de documentos XML

31 Soporte XML ADO.NET y XML // Ejemplo en C# // Asociar un XmlDataDocument con el DataSet XmlDataDocument xmlDocument = new XmlDataDocument(pubs); // Obtener un XmlNavigator para el XmlDataDocument DataDocumentNavigator xmlNavigator = new DataDocumentNavigator(xmlDocument); // Obtener todos los autores de CA xmlNavigator.Select("//Authors[state='CA']/au_lname"); // Mostrar todos los apellidos de autores while(xmlNavigator.MoveToNextSelected()){ Console.WriteLine("Name = " + xmlNavigator.InnerText); }

32 DataSet ofrece manejo directo de documentos y esquemas XML – ReadXml() – ReadXmlSchema() – WriteXml() – WriteXmlSchema() Soporte XML ADO.NET y XML

33 Soporte XML SQLXML SQLXML Managed Classes 3.0 –SqlXmlCommand –SqlXmlParameter –SqlXmlAdapter

34 Demontración 2 Soporte XML

35 Agenda Introducción a ADO.NET Programación con ADO.NET Soporte XML Funciones avanzadas ¿Cuándo utilizar qué?

36 Funciones avanzadas ConnectionPooling El proveedor OLE DB utiliza agrupación de sesiones tradicional OLEDB El proveedor de clientes SQL utiliza agrupación de sesiones basada en COM+

37 // Ejemplo en C# SqlConnection conn = new SqlConnection(); conn.ConnectionString = Integrated Security=SSPI; Initial Catalog=Northwind conn.Open();// Se crea el Pool A; SqlConnection conn = new SqlConnection(); conn.ConnectionString = Integrated Security=SSPI; Initial Catalog=pubs conn.Open();// Se crea el Pool B ya que la cadena de conexión es diferente SqlConnection conn = new SqlConnection(); conn.ConnectionString = Integrated Security=SSPI; Initial Catalog=Northwind conn.Open();// Se usa el Pool A Funciones avanzadas ConnectionPooling

38 Funciones avanzadas Transacciones distribuidas Para utilizar las transacciones distribuidas: –Utilice System.EnterpriseServices –Cree un ServicedComponent para ofrecer soporte para transacciones automático –Agregue funciones al ServicedComponents –Ejecute transacciones en el ServicedComponents

39 Funciones avanzadas Manejo de errores ADO.NET permite a los desarrolladores agregar mensajes de error a cada fila de datos en un DataSet Usted puede filtrar para filas en error El error persiste con DataSet aún cuando haya sido transferido utilizando XML O Servicios Web

40 Demostración 3 Funciones avanzadas

41 Agenda Introducción a ADO.NET Programación con ADO.NET Soporte XML Funciones avanzadas ¿Cuándo utilizar qué?

42 ¿Cuándo utilizar qué? Consideraciones Acceso a datos conectados Acceso a datos desconectados Vista XML de datos relacionales

43 ¿Cuándo utilizar qué? Acceso a datos conectados Proveedores administrados –Conexión, operación Conectar a DataSource Iniciar / terminar transacciones –Comando, parámetros Actualizaciones de Base de datos, selecciones, DDL –DataReader Cursor de servidor (FO/RO) –DataAdapter Empujar los datos dentro de un Dataset Leer los cambios fuera de DataSet

44 ¿Cuándo utilizar qué? Acceso a datos desconectados DataSet –Datos de aplicación –Resultados remotos SOAP, WebMethods, Remoting –Resultados de memoria caché Caché ASP.NET –Resultados persistentes Guardar datos como XML, esquema como XSD –Interacción del usuario Desplazar, clasificar, filtrar –DataView, DataViewManager Unir controles Windows

45 ¿Cuándo utilizar qué? Acceso de datos XML XML –XmlDocument XmlDataDocument Implementa el núcleo de nivel 1 y 2 del W3C DOM –XPathNavigator Ofrece acceso aleatorio de sólo lectura –XslTransform Soporta sintaxis XSLT 1.0

46 Resumen de la sesión Una evolución natural de ADO Diseñado para trabajar con XML Integrado estrechamente con el marco.NET Ofrece mecanismos rápidos y eficientes para acceso a datos conectados y desconectados

47 Para mayor información… MSDN Web site at –msdn.microsoft.com.NET Framework at –www.microsoft.com/netwww.microsoft.com/net Visual Studio.NET at –www.microsoft.com/vstudiowww.microsoft.com/vstudio ADO –www.microsoft.com/datawww.microsoft.com/data

48 MS Press Recursos esenciales para desarrolladores Ahora puede crear sus propios libros personalizados MS Press books en mspress.microsoft.com/custombook Escoja entre Windows 2000, SQL Server 200, Exchange 2000, Office 2000 y XML Créelo y después pídalo en versión MS Reader, PDF o impresa

49 Capacitación & Eventos MSDN Training, Tech-Ed, PDC, Developer Days, MSDN/Eventos en el sitio MSDN Recursos esenciales para desarrolladores Servicios de suscripción Información en línea Programas de membresía Publicaciones impresas Biblioteca, Profesional, Universal Proporcionado vía CD-ROM, DVD, Web MSDN Online, MSDN Flash Grupos de usuarios MSDN MSDN Magazine MSDN News

50 ¿Dónde puedo obtener MSDN? Visite MSDN en línea en msdn.microsoft.com Regístrese para el Boletín de noticias por correo electrónico MSDN Flash en msdn.microsoft.com/resources/ msdnflash.asp Conviértase en un suscriptor del CD de MSDN en msdn.microsoft.com/subscriptions Asista a más eventos de MSDN

51

52 ANEXO

53 Application Blocks –Data Access –Exception Management

54 Data Access Application Block Simplifies calling ADO.NET SqlClient Stored procedure parameter management –Caches s. proc. parameter definitions –Cache can be loaded manually (enforcing type manually) or automatically on the fly Simplifies returning many formats –Get DataSets, DataReaders, Scalars, XmlReaders – all in one line of code Simplifies calling with many sources –Connections, Conn. Strings, SQL Transactions –Plays well with COM+ dr = SqlHelper.ExecuteReader( CONN_STRING,spSaveCustomer", John, Doe );

55 Data Access Application Block

56 SqlHelper class has the following overloaded static methods: –ExecuteNonQuery - execute Transact-SQL statements or stored procedures that do not return rows –ExecuteDataset - retrieve a DataSet object that contains the resultset of a Transact-SQL statement or stored procedure –ExecuteReader - return a DataReader object that contains the resultset of a Transact-SQL statement or stored procedure –ExecuteScalar - retrieve a single value resultset from a Transact-SQL statement or stored procedure –ExecuteXMLReader - retrieve XML data Data Access Application Block

57 Demostración 4 DAAB Usando el Data Access Application Block


Descargar ppt "ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina."

Presentaciones similares


Anuncios Google