32
ADO ActiveX Data Object

ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Embed Size (px)

Citation preview

Page 1: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO

ActiveX Data Object

Page 2: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Que es ADO?

• ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las bases de datos, darles órdenes y obtener resultados de ellas.

Page 3: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO

• Los Objetos de datos ActiveX (ADO), descendiente de DAO y RDO, se han convertido en el modelo de acceso a datos más eficaz hasta el momento y es compatible con una amplia variedad de lenguajes de programación.

Page 4: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO

• Muchos objetos se racionalizan o se abandonan para conseguir un modelo más ligero capaz de acceder a datos rápidamente en distintas arquitecturas, desde las de un solo nivel como las de varios. Para ello, se convierte en un envoltorio de las invocaciones OLE DB subyacentes.

Page 5: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Evolución

• ADO substituyó tanto a DAO (Data Access Object), como a RDO (Remote Data Object), que eran los sistemas previos que se usaban para acceder a las bases de datos y bases de datos remotas, respectivamente.

• Tiene la mayor parte de la funcionalidad de ambos modelos y sin embargo es más sencillo de usar y de entender y por lo tanto más fácil y menos engorroso de programar.

Page 6: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Funcionamiento

• ADO es un intermediario entre el programa y la base de datos.

• El programa no ve la base de datos directamente, sino que hace todo el trabajo a través de ADO.

• Usando ADO, el programa se comunica con la base de datos, consulta, edita, inserta, borra, registros, añade tablas, etc.

• ADO a su vez se comunica con la base de datos a través de un "proveedor de datos".

Page 7: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Componentes ADO

• Principales componentes de ADO– Connection (Permite establecer una conexión

con la base de datos) – Recordset (Maneja un conjunto de records de la

base de datos) – Command (Permite enviar órdenes SQL para

ser ejecutados por la base de datos)

Page 8: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Componentes ADO

• Otros componentes de ADO– Record (Permite manejar un registro, típicamente pero

no exclusivamente, de una fuente diferente a una base de datos. Uno de sus usos es la representación de datos que no están estructurados en forma de Tablas, como por ejemplo que tengan una estructura tipo árbol.

– Field (Permite manipular un campo perteneciente a un Record o un Recordset)

– Parameter (Permite configurar un parámetro para una consulta SQL. Se usa con Command)

Page 9: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Componentes ADO

• Otros componentes de ADO– Stream (Permite manejar flujos de datos

(streams), provenientes de ficheros de texto, páginas web, etc)

– Error (Indica las características de los errores que pudieran suceder al ejecutar métodos de los objetos de ADO)

– Property (Contiene información perteneciente a un objeto determinado)

Page 10: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

La Conexión

• La conexión es como una autopista que permite el flujo de datos entre el programa y la base de datos.

• Por ella pueden viajar las órdenes que desde el programa se usan para hacer solicitudes de información a la base de datos o para realizar una operación dentro de ella como borrar registros, añadir registros, modificar tablas, etc.

Page 11: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

La Conexión

• También, por esta autopista, pueden ir y venir los datos, desde y hacia la base de datos, entre otras cosas.

• Tanto el recordset como la orden usan la conexión para comunicarse con la base de datos.

• La conexión se comunica con la base de datos a través de un intermediario llamado "proveedor de datos".

Page 12: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

El proveedor de datos

• El proveedor de datos es un componente que se relaciona directamente con la base de datos. Hay un proveedor de datos por cada tipo de base de datos. Así, las bases de datos de tipo Access, SQL Server, Oracle, MySql, tienen, cada una, un proveedor de datos específico.

• La conexión ADO puede usar dos tipos de proveedores de datos, OLE DB y ODBC, siendo OLE DB el tipo de proveedor nativo.

Page 13: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

El Proveedor de Datos

• Cuando no existe un proveedor de OLE DB específico para una base de datos determinada, y en cambio existe un proveedor ODBC, la conexión ADO puede usarlo para comunicarse con la base de datos, sin embargo, no directamente, sino a través de un proveedor OLE DB especial que sirve de intermediario entre ADO y ODBC.

Page 14: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

El Recordset

• El Recordset es, como su nombre lo indica, un conjunto de records. En general, sus datos tienen su origen en una base de datos, aunque también pueden generarse independientemente de ésta.

• Un recordset puede contener cero o más records (registros).

• Cada recordset tiene una colección de campos, que es común a todos los records. Podemos verlo como una matriz o tabla, en donde las filas son los records, y las columnas son los campos.

Page 15: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las
Page 16: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Ventajas e Inconvenientes

• ADO se ha estabilizado hasta tal punto de convertirse en enormemente fiable y compatible en todos los niveles.

• El modelo se puede aplicar fácilmente a aplicaciones de Windows y a aplicaciones Web. Debido a su compatibilidad con todos los productos de Microsoft, incluyendo Office, cualquier usuario que disponga de

• uno de estos productos puede ejecutar una aplicación ADO.

• También se puede utilizar para mostrar o administrar datos en páginas Web.

Page 17: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Ventajas e Inconvenientes

• Solamente se puede gestionar una tabla o un conjunto de registros a la vez.

• No es compatible intrínsecamente con XML y no es válido para la comunicación entre distintos entornos.

• No resulta sencillo crear relaciones entre tablas.• Su diseño está dirigido, esencialmente, a

arquitecturas con conexión.

Page 18: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Ventajas e Inconvenientes

• Como la comunicación se basa en COM, estamos limitados a los tipos de datos que admite COM, un problema para las plataformas que no estén basadas en Windows.

• Los tipos de datos ADO se deben traducir por sus equivalentes en COM, lo que requiere gran cantidad de tiempo y de recursos del sistema.

• COM suele dar problemas a la hora de atravesar cortafuegos.

Page 19: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Ventajas e Inconvenientes

• No podemos acceder a fuentes de datos relacionales, no relacionales o de otro tipo desde un modo sin conexión.

• Tendremos que escribir distintas aplicaciones para cada nivel de acceso a datos, ya se trate de Internet o de otros almacenes de datos.

• Debido a las distintas versiones de bibliotecas y de código necesarios para acceder a estas tecnologías, nos resultará complicado gestionar nuestro código.

Page 20: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Ventajas e Inconvenientes

• Las aplicaciones deben contar con múltiples componentes de biblioteca ya que uno solo no puede proporcionar todas las funciones necesarias.

• Abundan los problemas de versión, ya que las aplicaciones compatibles con ADO requieren la ubicación de las bibliotecas de ejecución adecuadas en el ordenador del cliente.

Page 21: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO.Net

• ADO.NET proporciona conectividad para bases de datos entre sistemas relacionales o no relacionales a través de un conjunto de componentes común.

Page 22: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO.Net

• También permite el acceso a datos sin conexión. Tradicionalmente, las aplicaciones cliente-servidor mantienen, durante su ejecución, una conexión abierta con la base de datos u ofrecen su propio método para almacenar localmente en caché los datos

Page 23: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Inconvenientes

• Las conexiones abiertas a bases de datos consumen valiosos recursos del sistema.

• En la mayoría de los casos, las bases de datos solamente pueden mantener un número determinado de conexiones abiertas simultáneas y la sobrecarga de un elevado número de conexiones puede mermar el rendimiento general de la aplicación.

• Sin embargo, en muchos casos, se puede requerir una conexión constante y puede que no resulte adecuado ni práctico cerrar la conexión.

Page 24: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Inconvenientes

• Resulta muy complicado escalar aplicaciones que requieren una conexión abierta a la base de datos, por lo que una aplicación que funcione aceptablemente con 100 usuarios puede que no lo haga con 1000.

Page 25: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

Inconvenientes

• Un modelo basado en datos con conexión puede dificultar el intercambio de datos entre los limites de la aplicación y de la organización.

• Si dos componentes necesitan compartir los mismos datos, ambos deberán conectarse a la misma fuente de datos o se debe implementar una forma fiable de pasar los datos entre los componentes

Page 26: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO.Net

• Por todas estas razones, se diseñó ADO.NET para arquitecturas sin conexión. Los datos se leen en un componente (un objeto para ser más precisos) denominado DataSet, que actúa como almacén temporal de los datos.

• El DataSet almacena los datos aunque se rompa la conexión con la fuente de datos y es efectivo siempre que se encuentre en su alcance.

• La aplicación puede manipular los datos del DataSet sin conexión antes de volver a conectar con el almacén de datos para actualizarlo con los cambios.

Page 27: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO.Net

• Los cambios se efectúan de forma optimista. Al volver a establecer la conexión para una actualización, las versiones originales de los datos utilizadas para completar el DataSet se comparan con los datos que en ese momento contiene el servidor.

• Si alguien ha modificado la información mientras tanto, se genera un error y se rechaza la operación.

Page 28: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO vs ADO.Net

• Mientras que ADO.NET utiliza DataSets para almacenar los datos, ADO utiliza el objeto RecordSet.

• Un RecordSet de ADO representa una sola tabla por lo que, incluso si se combinan varias tablas, se verá como una sola, ya que no se puede trabajar con varias tablas de forma simultánea.

• Por su parte, el DataSet de ADO.NET contiene una colección de tablas así como las relaciones entre ellas, por lo que puede procesar una estructura de datos mucho más compleja.

Page 29: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO vs ADO.Net

• El DataSet de ADO.NET proporciona tanto una vista relacional basada en tablas como una vista jerárquica basada en XML, que se pueden utilizar indistintamente

Page 30: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO vs ADO.Net

• El RecordSet de ADO almacena datos en formato binario lo que puede resultar problemático, ya que los cortafuegos tienden a bloquear las transferencias de datos binarios.

• XML es un formato de datos basado en texto, por lo que ADO.NET puede transferir datos a través de cortafuegos de forma más sencilla y fiable.

Page 31: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO vs ADO.Net

• XML también permite un variedad ilimitada de tipos de datos e incorpora métodos para validar la utilización del tipo de datos correcto. Como ADO utiliza COM como mecanismo de transporte, el rendimiento puede verse afectado debido a la traducción de y desde los limitados tipos de datos COM.

Page 32: ADO ActiveX Data Object. Que es ADO? ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las

ADO vs ADO.Net

• Con ADO, siempre se presenta el problema de disponer de la versión correcta de MDAC para acceder a los datos, mientras que ADO.NET es compatible con cualquier versión de ADO.NET