| Artículos | 01 MAY 1999

ADO 2.0 y sus nuevas características

Tags: Histórico
Acceso a datos con Visual Basic 6.0
José M. Alarcón.

Desde la versión 3 . 0 de Visual Basic donde se añadió la posibilidad de acceder a bases de datos de una manera sencilla ( mediante el motor Jet 1 . 1 ) , las diferencias en este aspecto entre las sucesivas versiones no han sido nunca demasiado espectaculares . Tal vez la mayor de ellas fue la inclusión, en la 4 . 0 empresarial para 32 bits, del modelo de acceso a bases de datos remotas RDO . Este nuevo modelo jerárquico de objetos permitía un acceso más rápido y optimizado a bases de datos locales y remotas ya que utilizaba directamente la API ODBC sin la carga que significa usar el motor Jet de Access como capa intermedia . Esta misma versión incluía una mejorada de DAO pero realmente sin grandes novedades .

Más tarde con la 5 de VB, se entregaba la 3 . 5 de DAO que permitía acceso a datos usando la tecnología ODBCDirect, que aceleraba mucho el proceso . También se incluían con la versión empresarial las UserConections ( que pasaron sin pena ni gloria ) , el depurador T-SQL para SQL Server, y unas herramientas visuales para manejo de las bases de datos en el entorno de desarrollo ( las VDT ) . Todas estas características, aunque útiles, no se podían considerar especialmente novedosas y además quedaban eclipsadas totalmente por capacidades más espectaculares como la posibilidad de crear controles ActiveX ( toda una revolución ) , la implementación de interfaces o la posibilidad de manejar punteros .

La recién aparecida versión 6 . 0 de Visual Basic realmente aporta gran cantidad de novedades en el campo del acceso a datos . De hecho, existen tantas que la primera impresión que produce si nuestra principal actividad de desarrollo son las bases de datos, es que nos va costar mucho ponernos al día con todo lo que hay que aprender ( ver cuadro adjunto Las novedades de Visual Basic 6 . 0 para obtener una lista detallada ) .

Un poco de teoría: sopa de letras

Todas estas mejoras no son exclusivas de Visual Basic sino que se han aportado para su uso desde cualquiera de las herramientas de Visual Studio 6 . 0 . Concretamente con esta versión de la suite de programación Microsoft ha introducido de forma definitiva todas sus nuevas tecnologías de acceso a datos que están destinadas a sustituir a corto plazo a las más antiguas .

UDA, MDAC, ODBC, DAO, RDO, OLE DB, COM, DCOM, SQL, ADO, . . . . . toda esta sopa de letras confunde a cualquiera, pero es necesario conocer qué significan para entender la situación actual respecto a las aplicaciones que acceden a orígenes de datos .

En el mundo empresarial de hoy en día existen muchas maneras de almacenar la información . No todos los datos de una empresa deben residir en un gestor relacional como Access, Oracle o SQL Server . Si se para uno a pensarlo se da cuenta que gran cantidad de información necesaria para las actividades de una empresa se encuentra realmente en el gestor de correo electrónico, en hojas de cálculo o archivos del procesador de texto, en la agenda de contactos del sistema e incluso en archivos individuales del disco duro como pueden ser páginas web o archivos de texto con información técnica .

Existen principalmente dos ?filosofías? para proporcionar un acceso total a los diversos orígenes de datos que pueden existir en una empresa y que denominaremos filosofía integradora y filosofía universal respectivamente .

La primera de ellas, la integradora, se conoce también como Universal Data Storage o UDS, y es la que han adoptado algunos fabricantes de bases de datos relacionales como por ejemplo Informix o Sybase . Consiste básicamente en identificar la información en su localización de origen, extraerla e importarla dentro de un gestor de datos relacional ya existente como Oracle o SQL Server . Aunque de esta forma se centralizan los datos para su acceso, éste se complica, se duplica la información y además se pierden las obvias ventajas que supondrían poder manipular los datos directamente en su origen .

Precisamente en ésto se basa la nueva estrategia de Microsoft para facilitar el acceso a datos desde todos sus productos . Esta estrategia, conocida como UDA ( Universal Data Access ) propone los conceptos para conseguir un acceso a todos los tipos de datos de una manera independiente de su localización, herramienta de desarrollo y lenguaje de programación .

La plasmación práctica de los conceptos UDA es lo que se conoce como MDAC ( Microsoft Data Access Components ) . Se trata de componentes e interfaces COM/DCOM que definen diversos métodos de acceso a datos tanto racionales como no relacionales, multidimensionales o no, en entornos cliente/servidor o locales, etc .

Dentro de MDAC se encuentra OLE DB . que viene a ser el sucesor de ODBC . Se trata básicamente de una serie de interfaces COM que extienden el concepto de controlador de bases de datos relacionales ya existente en ODBC para abarcar también a las fuentes de datos no relacionales, y poder así acceder a los de todo tipo . ODBC estaba pensado para ser utilizado desde C/C++, mientras que OLE DB, al estar totalmente basado en COM, puede ser accedido de manera independiente de la herramienta de programación y del lenguaje . Los componentes OLE DB constan de proveedores de datos, que contienen y exponen los datos; clientes de datos, que los utilizan; y componentes de servicio, que los procesan y los transportan . Podemos pensar en los proveedores de datos ( también llamados OLE DB Providers ) como en el equivalente de los controladores o drivers ODBC para un determinado sistema . Dado que OLE DB define perfectamente las interfaces que debe exponer cada una de estas tres capas de acceso a los datos es posible escribir de manera sencilla un proveedor de datos OLE DB para casi cualquier tipo de dato contenido en un sistema informático . Por ejemplo, se puede escribir un proveedor de datos que actúe sobre la información contenida en archivos de correo electrónico o sobre el contenido de un sistema de archivos . De esta manera es posible usar la implementación de OLE DB para lanzar consultas SQL contra estos orígenes de datos y tratarlos como si fueran una base de datos para, por ejemplo, encontrar un determinado e-mail o un archivo en nuestro sistema a partir de una simple sentencia SELECT de SQL .

Microsoft facilita proveedores OLE DB para los sistemas de bases de datos más comunes como pueden ser Access, SQL Server u Oracle, además de para otros orígenes de datos no relacionales como el servicio de directorio activo de Windows2000, el servidor de índices ( Index Server ) de IIS para acceder a datos del sistema de archivos y del servidor web a través de SQL . Poco a poco irán apareciendo más proveedores y además otras compañías también facilitan los suyos propios . Microsoft también proporciona un proveedor OLE DB que es capaz de acceder a orígenes de datos ODBC, actuando pues de puente entre ambos mundos, y asegurando que si todavía no está disponible un proveedor para nuestra base de datos relacional favorita, podamos hacer uso del nuevo paradigma aprovechando lo que ya existe .

OLE DB se puede utilizar directamente para acceder a los datos, pero al ser una API a bajo nivel del sistema es bastante difícil de programar . Pasa algo similar a lo que ocurría anteriormente con ODBC: era una API de bajo nivel directamente utilizable, pero complicada y engorrosa a la que sólo se accedía puntualmente de manera directa, puesto que existían objetos de mayor nivel que nos permitían abstraernos de sus detalles más complicados ( DAO y RDO ) .

En el caso de OLE DB se ha definido un modelo de programación basado en objetos llamado ADO: ActiveX Data Objects . Este modelo de objetos es una capa de abstracción de alto nivel que utiliza de manera subyacente a OLE DB para acceder a los orígenes de datos siguiendo los conceptos establecidos por UDA .

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información