Interacción persona-computadora
Interacción persona computadora
Tema 9 ADO NET
Tema 9. ADO.NET
Luís Rodríguez Baena (
[email protected])
Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática
1
Introducción
ADO.NET es heredero de la tecnología ADO (ActiveX Data Objects)
implantada por Microsoft hacia el año 2002.
Supone la adaptación a .NET Framework de una arquitectura de
base de datos que permitía acceder a bases de datos de cualquier
proveedor ya se en modo local o remoto.
ADO.NET.
● Permite su utilización bajo cualquier entorno que soporte .NET
q
j
Framework (no sólo bajo Windows).
q
p
● Basada en las clases base de la arquitectura .NET.
Puede ser utilizada bajo cualquier lenguaje .NET.
● Permite la ampliación a aplicaciones basadas en el modelo
cliente/servidor.
● Minimiza la carga de los servidores (modo desconectado).
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
2
2
Componentes ADO.NET
Nivel de presentación
(Windows Forms, Web Forms)
App.exe
Conjunto
de datos
Reglas de negocio
(IIS, Web Sevice)
Conjunto de datos
Nivel de datos
Adaptador de
datos
Conector de
datos
Adaptador de
datos
Conector de
datos
XML
Internet
Intranet
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
3
3
Proveedores de datos
Se utilizan para conectarse a la base de datos, recuperar
información y ejecutar órdenes contra la misma
información y ejecutar órdenes contra la misma.
Dependientes del gestor de datos utilizado.
● Proveedor de datos para SQL Server.
● Proveedor de datos para OleDB.
Proveedor de datos para OleDB.
Utiliza los controladores nativos OleDB para Windows.
Precisan de una capa adicional entre .NET y la base de datos.
● Proveedor de datos para ODBC.
● Proveedor de datos para Oracle (a partir de NET Framework 1 1)
● Proveedor de datos para Oracle (a partir de .NET Framework 1.1).
Proveedor de datos .NET
Framework para SQL Server
Proveedor de datos .NET
Framework para OLEDB
Proveedor de datos .NET
Framework para ODBC
Proveedor de datos .NET
Framework para Oracle
Componente de servicio OLEDB
Componente de servicio OLEDB
Adminstrador de controladores ODBC
Adminstrador de controladores ODBC
Proveedor OLEDB OLEDB
Controlador ODBC
SQL Server 7 0 o
SQL Server 7.0 o
posterior
Origen de
Origen de
datos OLEDB
Origen de
Origen de
datos ODBC
Oracle 8 1 7 o
Oracle 8.1.7 o
posterior
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
4
4
Modelo de objetos ADO.NET
Cinco objetos principales:
● En el proveedor de datos (dependen del gestor de bases de datos).
Connection.
Command.
DataReader.
DataAdapter.
● Independiente del proveedor de datos.
DataSet.
Proveedor de datos ADO.NET (Datos con conexión)
ADO.NET
ADO.NET
Origen de
Datos
Objeto
Connection
Objeto DataAdapter
Datos sin conexión
Objeto DataSet
fill
update
Objeto
Command
Objeto
DataReader
Aplicación.exe
read
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
5
5
Modelo de objetos ADO.NET (II)
Objeto Connection.
● Establece la conexión con la base de datos mediante una
Objeto Command.
“cadena de conexión”.
j
● Ejecuta una acción contra el almacén de datos, ya sea de
consulta o de acción.
Objeto DataReader.
Objeto ata eade
● Conjunto de registros recuperado a partir del objeto Command.
Objeto DataAdapter.
DataSet.
● Puente entre la conexión y los datos almacenados en un
● Puente entre la conexión y los datos almacenados en un
● Permite cargar los datos en el DataSet a partir de un origen de
datos y actualizarlos.
datos y actualizarlos.
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
6
6
Modelo de objetos ADO.NET (III)
Objeto DataSet.
● Objeto “abstracto”: desligado
de cualquier gestor de bases
de datos.
● Conjunto de tablas obtenidas
● Conjunto de tablas obtenidas
mediante el método Fill del
objeto DataAdapter.
● Se puede considerar como
una base de datos
una base de datos
almacenada en la memoria
caché del cliente.
Las tablas se cargan en la
memoria caché del cliente
memoria caché del cliente,
dejando disponible la
conexión con el origen de
datos para otros usuarios.
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
DataSet
Colección Tables
DataTable
Colección Rows
DataRow
Colección Columns
DataColumn
Colección Relations
DataRelation
DataRelation
7
7
Espacios de nombres para ADO.NET
Las clases de acceso a datos de .NET Framework están en el
espacio de nombres S t
espacio de nombres System.Data.
● Incluye las clases que no pertenecen a ningún proveedor específico.
Los nombres de las clases pertenecientes al proveedor de datos
D t
d
g
.NET son nombres genéricos.
● Existen clases distintas para cada sistema de gestión de bases de datos
ubicadas en su propio espacio de nombres:
System.Data.OleDb. Contiene objetos asociados al proveedor de datos
OleDb como OleDbConnection, OleDbCommand, OleDbDataReader y
Ol b
OleDbDataAdapter.
System.Data.SqlClient. Contiene objetos asociados al proveedor de
datos SQL Server como SqlDbConnection, SqlDbCommand,
SqlDbDataReader y SqlDbDataAdapter.
System.Data.Odbc. Contiene objetos asociados al proveedor de datos de
System.Data.Odbc. Contiene objetos asociados al proveedor de datos de
ODBC como OdbcConnection, OdbcCommand, OdbcDataReader y
OdbcDataAdapter.
System.Data.OracleClient. Contiene objetos asociados al proveedor
de datos Oracle como OracleConnection, OracleCommand,
OracleDataReader y OracleDataAdapter
OracleDataReader y OracleDataAdapter.
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
8
8
Modo conectado y modo
desconectado
desco ectado
Modo conectado.
● Utiliza los objetos Connection, Command y DataReader.
● Se establece una conexión permanente con el origen de datos.
● A partir de una conexión, el objeto Command generará un objeto
DataReader con la información necesaria
DataReader con la información necesaria.
Los datos del objeto DataReader son de sólo lectura.
● El objeto Command, también se encargará de realizar las
operaciones de actualización con la base de datos.
p
● La información entre el cliente y el servidor se establece en un
formato binario propietario del gestor de base de datos.
● Se utiliza cuando se deben procesar pocos registros durante
poco tiempo o cuando no sea necesario compartir la información
poco tiempo o cuando no sea necesario compartir la información
con otras aplicaciones.
Realización de informes.
Páginas dinámicas ASP de Internet.
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
9
9
Modo conectado y modo
desconectado (II)
desco ectado (
)
Modo desconectado.
ó
ó
origen de datos.
● La conexión sólo es necesario establecerla cuando se descarga información del
● Cada tabla del DataSet precisa de un objeto DataAdapter.
El método Fill se encargará de cargar una tabla en el DataSet.
Los datos se almacenan en la memoria caché del cliente en un objeto DataSet.
b
Los datos almacenados en el DataSet se pueden modificar.
● Las modificaciones efectuadas en el DataSet se pueden sincronizar con el
El método Update del objeto DataAdapter permite actualizar el origen de datos.
El
origen de datos.
d l bj t
d d t
hé d l
ét d
t
li
l
i
l
it
ó
d
l
l
● La información entre el cliente y el servidor se transmite en forma de datos XML
(pueden ser utilizados por otra aplicación).
● Se utiliza cuando:
Se necesita modificar los datos frecuentemente.
Es necesario que los datos estén mucho tiempo en memoria (por ejemplo en
d f
d
f
l
aplicaciones Windows Form).
Cuando no siempre es posible estar conectado al origen de datos (aplicaciones
móviles).
móviles).
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
10
10
Conexión con la base de datos
Imprescindible tanto en modo conectado como
p
desconectado.
Pasos para crear una conexión:
d l
● Crear una instancia de algunas de las clases Connection.
● Establecer la cadena de conexión mediante la propiedad
i d
C
l
i
t
l
ConnectionString.
● Abrir la conexión.
En modo conectado la conexión permanecerá abierta hasta que
termine la aplicación.
En modo desconectado se cargarán los datos en un objeto
DataSet y se cerrará la conexión.
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
11
11
Conexión con la base de datos (II)
Crear una instancia de las clases.
● Para el proveedor de datos SQL.
Dim cnSQL As New SqlConnection
● Para el proveedor de datos OleDb.
p
Dim cnOleDb as New OleDbConnection
● Notas:
Los nombres de las instancias serán cnSQL y cnOleDb
respectivamente.
Es necesario tener establecido el espacio de nombres o bien utilizar
Dependiendo del alcance que queramos dar a las variables
el nombre cualificado
(System.Data.SqlClient.SqlConnection).
( y
)
utilizaremos los modificadores Dim, Private, Public, Friend,
etc.
q
q
Universidad Pontificia de Salamanca (Campus Madrid)
Luis Rodríguez Baena, Facultad de Informática, 2008
12
12
Conexión con la base de datos (III)
(cid:137
Comentarios de: Tema 9. ADO.NET (0)
No hay comentarios