ActiveX Data Objects

(ADO)

Es un modelo de datos de un bajo consumo de memoria, también se puede decir que es un lenguaje programático para interacturar con bases de datos. El modelo esta optimizado para accesos sobre internet/intranet. Si se ha usado alguna vez los modelos DAO en Microsoft Access o RDO en Microsoft Visual Basic se estará en una situación de ventaja en cuanto a la sintaxis de utilización del modelo, esto porque aunque existen diferencia las similitudes son mayores.

OLE DB: Especificaciones de acceso a datos de próxima generación de Microsoft, permite acceso a un abanico más amplio de proveedores de datos. A diferencia de ODBC, diseñado para acceso a bases de datos relacionales, incluyen sistemas de bases de datos relacional y no-relacional, como son sistemas de e-mail, almacenamientos de sistemas CAD/CAM, entre otros. Tanto ODBC como OLE DB son interfaces de acceso a datos para la programación de aplicaciones windows (APIs ).

OLE DB no intenta sustituir a ODBC, por el contrario usa un proveedor de datos que permite usarlo con fuentes ODBC. En definitiva el bojetivo de Microsoft es lograr que OLE DB pueda servir los datos no importando donde se encuentran en la organización.

Dentro de todo esto el papel jugado por ADO es el de servir de interface de alto nivel a OLE DB. Actualmente la manipulación de datos puede hacerse del mismo modo que siempre, porque podemos usar ADO para acceder fuentes de datos ODBC mediante el proveedor de datos ODBC de OLE DB. En el futuro se podrá usar ADO para acceder nuestros sistemas de correo electronico o cualquier otro sistema de base de datos no-relacional.

Modelo del objeto ADO

 

 

El objeto de más alto nivel en ADO es el Connection que a su vez contiene los Objetos Command y Recordset y las colección Errors. A diferencia de DAO y RDO, ADO no posee una colección Tables o alguna similar a un environment, workspace o engine. Los objetos y colecciones ADO son los mostrados en el esquema previo y que se describe a coninuación:

Objeto Connection:

Se usa para crear una conexión a un proveedor de datos, sus equivalentes en DAO y RDO son DataBase y rdoConnection respectivamente.

Objeto Recordset:

Se usa para crear un conjunto de registros de una consulta. Como en los recordsets de DAO y los rdoREsultsets de RDO en un recordset de ADO es posible movernos en ambas direcciones del recordset. A los recordsets de ADO se les llama, en ocaciones, cursores. Los cursores de los recordsets ADO se crean siempre en el servidor.

Objeto Command:

Se usa para apuntar a cadenas SQL, Procedimientos Almacenados o Consultas de Acción que pueden ser ejecutados. Sus equivalentes en DAO y RDO son los objetos QueryDef y rdoPrepareStatement.

Colección Errors:

Permite que se pueda recorrer la colección de errores que pueden ocurrir cuando se produce una caída ocasionada por una solicitud de acceso a datos. Debido a que una sentencia de acceso a datos puede producir múltiples errores, ADO define la colección Errors en lugar de un simple objeto error. Sus equivalentes en DAO y RDO son la colección errors y la rdoErrors respectivamente.

 

 

Equivalencias de objetos y colecciones en diversos modelos de acceso a datos de Microsoft

 

ADO DAO RDO
Connection DataBase RdoConnection
Recordset Recordset RdoResultSet
Command QueryDef RdoPrepareStatement
Errors Errors RdoErrors

 

En ADO la jerarquía de los objetos es poco importante. Esto significa que, a diferencia de DAO y RDO, no hay la necesidad de seguir la estructura de un objeto hacia abajo para crear un objeto. Por ejemplo es posible crear un objeto recordset sin haber pasado previamente por uno connection, con el consecuente ahorro de líneas de código y memoria al no tener que crear una connection.

En una Aplicación Web el uso de memoria puede llegar a ser critico cuando cientos o miles de usuarios acceden simultaneamente al WebSite. En muchos casos, sin embargo, es necesario crear una connection porque es más eficiente cuando se ejecutan múltiples operaciones recordset o command.

Instalación del objeto ADO

El bojeto ADO se puede adquirir mediante la instalación de Active Server Pages, Visual InterDev, o el Software Development Kit de OLE DB.  A continuación se presenta la imagen que contiene los diversos componentes que instala el Active Server Pages:

 

gifADOV100Introduccion.gif (30796 bytes)

 

Un ejemplo real con ADO

La función realizada por este ejemplo es la crear una tabla con dos columnas una sobre la que
muestra el código y otra el nombre de los registros de candidatos que se encuentran en la tabla
tabGETTCandidatos de una base de datos que se accede mediante el DSN de sistema mdbGETTRemoto.

 

<%@ LANGUAGE = VBScript%>
<html>
<head>
<title>Un ejemplo real con ADO</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<%
set myConnection = CreateObject("ADODB.Connection")
myConnection.Open DSN="mdbGETTRemoto;UID=sa"
SQLQuery = "SELECT IDCANDIDATO,NOMBRE FROM tabGETTCandidatos"
set RSTitleList = myConnection.Execute(SQLQuery)
%>

<body>
<div align="center"><center>

<table border="1" width="67%">
<tr>
<td width="22%">Codigo</td>
<td width="78%">Nombre</td>
</tr>
<% do while not RSTitleList.EOF %>
<tr>
<td width="22%"><%=RSTTitleList("IDCANDIDATO")%></td>
<td width="78%"><%=RSTTitleList("NOMBRE")%></td>
</tr>
<%RSTitleList.MoveNext%>
<%loop %>
</table>
</center></div>
</body>
</html>

 

 

Regresar a mi HomePage

Página mantenida por Francisco A. Reyes