ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo...

26
Introducción ADO .Net

Transcript of ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo...

Page 1: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Introducción

ADO .Net

Page 2: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Introducción

Componentes de Microsoft® ADO.NET

Diferencias entre ADO.NET y el modeloADO clásico

Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft .NET

Page 3: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Introducción a ADO.NET

ADO.NET es la evolución natural del modelo ADO; se basa en el desarrollo de aplicaciones en n capas, con XML como pilar central

ADO .NET es un nuevo conjunto de clases que proporciona servicios de acceso a datos a los programadores .NET

Es una parte integral de la clase Framework, que contiene toda la biblioteca de clases que Microsoft ofrece con .NET, incluidas las clases fundamentales para los tipos de sistemas anteriores, como los de E/S, redes, datos y XML

Page 4: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Componentes de ADO.NET

Proveedores administrados

DataSets

Page 5: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Proveedores administrados

El proveedor de datos .NET es un conjunto de componentes que incluye los objetos Connection, Command, DataReader y DataAdapter

El proveedor de datos .NET está diseñado para ser muy sencillo y crear una capa mínima entre el origen de datos y el código, lo que aumenta el rendimiento sin detrimento de la funcionalidad

Page 6: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Componentes de los proveedores

administrados

Page 7: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Tipos de proveedores administrados

− Proveedor administrado OLEDB

− Proveedor administrado SQL

− Proveedor administrado ODBC

Page 8: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Proveedor administrado OLEDB

Utiliza proveedores OLE DB originales a través de la interoperabilidad COM para habilitar el acceso a datos.

Para usar el proveedor de datos OLE DB en entornos .NET, también se debe emplear un proveedor OLE DB. Los siguientes proveedores son compatibles con ADO.NET:

− Proveedor OLE DB de Microsoft para SQL Server

− Proveedor OLE DB de Microsoft para Oracle

− Proveedor OLE DB Microsoft.Jet.OLEDB.4.0 para Jet

Estas clases se encuentran en el espacio de nombres System.Data.OleDb.

Page 9: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Ejemplo de conexión OLEDB

Dim OLEDBCn as OLEDBConnectionDim strConn as string

StrConn = "Provider=MSDAORA.1;Data Source=dseoracle8; user id=demo;password=demo;"

OLEDBCn = New OLEDBCOnnectionOLEDBCn.Connectionstring = strconnOLEDBCn.Open()

Page 10: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Proveedor administrado SQL

Utiliza su propio protocolo para comunicarse con la base de datos de Microsoft SQL Server™

Estas clases se encuentran en el espacio de nombres System.Data.SqlClient.

Page 11: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Ejemplo de conexión SQL

Dim SQLCn as SQLConnectionDim strConn as String

StrConn = "Data Source=Vijayab1; user id=sa;password=Contraseña1;Initial Catalog=Neptuno;"

SQLCn = New SQLConnectionSQLCn.Connectionstring = strconnSQLCn.Open()

Page 12: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Proveedor administrado ODBC

El proveedor de datos ODBC .NET es un componente complementario del SDK B2 de .NET Framework.

Ofrece acceso a controladores ODBC originales del mismo modo que el proveedor de datos OLE DB .NET ofrece acceso a proveedores OLE DB originales.

El proveedor de datos ODBC .NET está pensado para funcionar con todos los controladores que cumplan las especificaciones ODBC.

Page 13: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Proveedor administrado ODBC (2)

Con el proveedor de datos ODBC .NET sólo se han probado los siguientes controladores:

− Controlador ODBC para Microsoft SQL

− Controlador ODBC de Microsoft para Oracle

− Controlador ODBC para Microsoft Jet

Estas clases se encuentran en el espacio de nombres System.Data.Odbc.

El proveedor de datos ODBC .NET también requiere la instalación de MDAC 2.6 o posterior

Page 14: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Ejemplo de conexión ODBC

Dim odbccn As Odbc.OdbcConnection = New Odbc.OdbcConnection("Driver={SQL SERVER};SERVER=Vijayab1;UID=sa;PWD=Contraseña1;DATABASE=Neptuno;")

Dim odbcda As Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter("Select * from Empleados", odbccn)

Dim odbcds As New DataSet()

odbcda.Fill(odbcds, "Empleados")

Me.DataGrid1.DataSource = odbcds.Tables("Empleados")

Page 15: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Objeto Command

Representa una instrucción SQL o un procedimiento almacenado que ejecutar en un origen de datos.

Page 16: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

DataReader

DataReader para recuperar una secuencia de datos de sólo lectura y sólo hacia delante, a partir de una base de datos.

Page 17: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Ejemplo de DataReader

Dim SQLcn As SqlClient.SqlConnectionDim cmd As SqlClient.SqlCommandDim dr As SqlClient.SqlDataReaderDim strconn As String

SQLcn = New SqlClient.SqlConnection() strconn = "Data Source=byri;integrated security=SSPI;Initial

catalog=Neptuno" SQLcn.ConnectionString = strconn SQLcn.Open()

cmd = New SqlClient.SqlCommand("Select * from Productos") cmd.Connection = SQLcn dr = cmd.ExecuteReader(CommandBehavior.CloseConnection) While dr.Read Me.ListBox1.Items.Add(dr.GetValue(1)) End While

dr.Close()

Page 18: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

DataAdapter

Representa un conjunto de comandos de datos y una conexión a base de datos que se utilizan para rellenar el conjunto de datos DataSet y actualizar el origen de datos.

Page 19: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Propiedades de DataAdapter

SelectCommand

InsertCommand

DeleteCommand

UpdateCommand

TableMappings

Page 20: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

DataSet

DataSet

Tablas

Tabla

Columnas

Columna

Restricciones

Restricción

Filas

Fila

Relaciones

Relación

Page 21: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

DataSet

Dim strconn As String

strconn = "Provider=SQLOLEDB.1;Data Source=byri;IntegratedSecurity=SSPI;Persist Security Info=False;Initial

Catalog=Neptuno;" Dim OLEDBCn As OleDb.OleDbConnection = New

OleDb.OleDbConnection(strconn)'OLEDBCn.ConnectionString = strconn

Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand("Select * from Productos", OLEDBCn)

Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter()

da.SelectCommand = cmdOLEDBCn.Open()

Dim ds As New DataSet()da.Fill(ds, "Productos")

Page 22: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Diferencias entre ADO y ADO.NET

Se comunica con una base de datos con llamadas estándar al objeto DataAdapter

Datos proporcionados por el RecordSet, pero generalmente admite acceso conectado, representado por el objeto Connection

Admite DataRelationRequiere consulta JOIN

Utiliza DataSetUtiliza Recordset

ADO.NETADO

Page 23: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Diferencias entre ADO y ADO.NET (2)

ADO.NETADO

Usa cursores del lado del servidor y del lado del cliente

Arquitectura desconectada: no se utilizan cursores

Bloqueos de bases de datos y conexiones activas a bases de datos

No conserva bloqueos de bases de datos

Page 24: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Cuándo utilizar ADO.NET

Aplicaciones cliente/servidor

Cursores del lado del servidor

Bloqueo pesimista

Page 25: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Cómo utilizar ADO

Definir una referencia a una biblioteca Microsoft ActiveX® Data Object 2.x seleccionando la ficha COM (hacemos clic en Proyecto y después en Agregar referencia)

Se debe utilizar el objeto ADODB

Page 26: ADO.Net. Componentes de Microsoft® ADO.NET Diferencias entre ADO.NET y el modelo ADO clásico Cómo y cuándo utilizar ADO clásico en aplicaciones de Microsoft.NET.

Utilización de ADO en .NET

Ejemplo:

Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim strconn As String

strconn = "Provider=SQLOLEDB.1;Data Source=Byri;Integrated Security=SSPI;Persist security info=false;Initial Catalog=Neptuno;" cn.Open(strconn)cn.CursorLocation = ADODB.CursorLocationEnum.adUseClient

rs.Open("select * from Productos", cn,ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockReadOnly)

Dim DA As OleDb.OleDbDataAdapterDA = New OleDb.OleDbDataAdapter()

Dim DS As New DataSet()DA.Fill(DS, rs, "RECORDSET")