1 / 57

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

ADO .NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina. 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.

Mia_John
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 dediferentes 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.NETComparación entre ADO y ADO.NET

  8. Introducción a ADO.NETComparación entre ADO y ADO.NET

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

  10. Introducción a ADO.NETObjetos 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. Programación con ADO.NET.NET Data Provider • 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

  14. Programación con ADO.NETConexió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. Programación con ADO.NETConexión // Ejemplo en C# //Especificar el NamespaceSystem.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();

  16. Programación con ADO.NETComando • 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

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

  18. Programación con ADO.NETDataReader • 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

  19. Programación con ADO.NETDataSet • 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

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

  21. Programación con ADO.NETDataRelation • ¿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

  22. Programación con ADO.NETTyped DataSet • 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

  23. Programación con ADO.NETDataAdapter • 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

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

  25. Programación con ADO.NETDataAdapter // 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");

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

  27. Programación con ADO.NETDataBinding • 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 1DataSet, 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 XMLADO.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 XMLADO.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. Soporte XMLADO.NET y XML • DataSet ofrece manejo directo de documentos y esquemas XML • ReadXml() • ReadXmlSchema() • WriteXml() • WriteXmlSchema()

  33. Soporte XMLSQLXML • SQLXML Managed Classes 3.0 • SqlXmlCommand • SqlXmlParameter • SqlXmlAdapter

  34. Demontración 2Soporte XML

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

  36. Funciones avanzadasConnectionPooling • 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. Funciones avanzadasConnectionPooling // 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

  38. Funciones avanzadasTransacciones 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 avanzadasManejo 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 3Funciones 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/net • Visual Studio .NET at • www.microsoft.com/vstudio • ADO • www.microsoft.com/data

  48. MS PressRecursos 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. MSDNRecursos esenciales para desarrolladores Servicios de suscripción Biblioteca, Profesional, Universal Proporcionado vía CD-ROM, DVD, Web Información en línea MSDN Online, MSDN Flash Capacitación & Eventos MSDN Training, Tech-Ed, PDC, Developer Days, MSDN/Eventos en el sitio Publicaciones impresas MSDN Magazine MSDN News Programas de membresía Grupos de usuarios MSDN

  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

More Related