Вы находитесь на странице: 1из 28

Acceso a datos con DAO

Hay tres categoras de bases de datos que son accesibles a travs de DAO y del motor Microsoft Jet, como se describe en la lista siguiente.

Bases de datos nativas de Microsoft Jet Estos archivos de base de datos utilizan el mismo formato que las bases de datos de Microsoft Access. Estas bases de datos se crean y manipulan directamente mediante el motor de Microsoft Jet y proporcionan mxima flexibilidad y velocidad. Base de datos externas stas son las bases de datos Indexed Sequential Access Method (ISAM) en varios formatos populares, como Btrieve, dBASE III, dBASE IV, Microsoft FoxPro versiones 2.0 y 2.5 y Paradox versiones 3.x y 4.0. Puede crear o manipular todos estos formatos de base de datos en Visual Basic. Tambin puede tener acceso a bases de datos de archivos de texto y de hojas de clculo de Microsoft Excel o Lotus 1-2-3. Sugerencia La API de ODBC es la interfaz que el motor de base de datos Microsoft Jet utiliza para tener acceso a las bases de datos externas que no sean de tipo ISAM. Aunque existen controladores ODBC de ISAM, Microsoft Jet utiliza sus propios controladores instalables.

Bases de datos ODBC Incluyen bases de datos relacionales compatibles con el estndar ODBC, como Microsoft SQL Server.

El motor de base de datos Microsoft Jet traduce las operaciones sobre objetos DAO a operaciones sofisticadas en los mismos archivos de la base de datos, controlando todos los mecanismos de interfaz con las muchas bases de datos que admite.

Una aplicacin basada en DAO utiliza las siguientes operaciones para tener acceso a un origen de datos:

Crear el rea de trabajo Define la sesin del usuario, incluyendo la identificacin del usuario, la contrasea y el tipo de base de datos (como Microsoft Jet u ODBC). Abrir la base de datos Especifica una cadena de conexin para un objeto Workspace determinado, con informacin como el nombre del origen de datos y la tabla de la base de datos. Abrir el recordset Ejecuta una consulta SQL (con o sin parmetros) y llena el recordset. Utilizar el recordset El resultado de la consulta est ahora disponible para su aplicacin. En funcin del tipo de cursor, puede examinar y modificar los datos de la fila. Cerrar el recordset Cancela los resultados de la consulta y cierra el recordset. Cerrar la base de datos Cierra la base de datos y libera la conexin.

Con DAO puede trabajar directamente con tablas e ndices de ISAM. Al principio, sta fue una ventaja que ofreca la utilizacin del modelo de acceso a datos de DAO, pero ADO, con proveedores OLE DB, tambin puede proporcionar la misma funcionalidad. Puede utilizar DAO para realizar operaciones DDL (Lenguaje de definicin de datos) que afectan la estructura de su base de datos. Por ejemplo, puede crear, eliminar y modificar definiciones de tabla. Como se trata de una tecnologa de acceso a datos ms antigua, DAO est limitada a almacenes de datos que puede controlar el motor Microsoft Jet. Si su aplicacin requiere tener acceso a otros tipos de almacenes de datos, DAO no se lo puede proporcionar. Adems, DAO no puede generar consultas mediante cursores de servidor. La utilizacin de DAO implica una gran prdida de rendimiento debido a que utiliza el motor de base de datos Microsoft Jet.

Soluciones para el acceso a datos locales

La cuestin Se desea una interfaz de programacin de aplicaciones (API) consistente y sencilla que permita a las aplicaciones tener acceso y modificar una amplia variedad de orgenes de datos. Un origen de datos puede ser tan simple como un archivo de texto, tan complejo como un conjunto de bases de datos heterogneas, o algo todava por inventar. Es ms, la API no debera presuponer los medios para tener acceso y para manipular el origen de datos. Aunque stos sean sus requisitos especficos, el origen de datos tpico es una base de datos relacional compatible con el estndar Open Database Connectivity (ODBC) (Conectividad abierta de base de datos) y se manipula mediante comandos escritos en Structured Query Language (SQL-Lenguaje de consulta estructurada). La solucin general que ofrece Microsoft a este problema es OLE DB, un conjunto de interfaces Component Object Model (COM) que proporciona un acceso uniforme a los datos almacenados en orgenes de informacin diversos. Sin embargo, la interfaz de programacin de la aplicacin OLE DB est diseada para proporcionar una funcionalidad ptima en una amplia variedad de aplicaciones y no cumple el requisito de simplicidad.

Se necesita una API que es un puente entre la aplicacin y OLE DB. ActiveX Data Objects (ADO) es ese puente. La solucin ADO define un modelo de programacin; la secuencia de actividades necesarias para tener acceso y actualizar un origen de datos. El modelo de programacin resume la funcionalidad completa de ADO. El modelo de programacin sugiere un modelo de objeto: el conjunto de objetos que corresponde al modelo de programacin y lo implementa. Los objetos poseen mtodos que realizan algunas operaciones en los datos y propiedades que representan algunos atributos de los datos o controlan el comportamiento de algunos mtodos de objetos. Asociados con estos objetos estn los eventos, que son notificaciones de que algunas operaciones han ocurrido, o estn a punto de ocurrir. Siguiente Modelo de programacin bsica ADO. Novedades del acceso a datos

ADO (Objetos de datos ActiveX)Objects)

Todas las ediciones Esta nueva tecnologa de acceso a datos proporciona un modelo de objetos ms sencillo, una mejor integracin con las tecnologas de Microsoft y las que no son de Microsoft, una interfaz comn para acceso a datos locales y remotos, conjuntos de registros que se pueden controlar en modo remoto y en modo no conectado, una interfaz de enlace a datos de fcil acceso para el usuario y conjuntos de registros jerrquicos. Entorno de datos Edicin Profesional y Empresarial El Diseador de entorno de datos proporciona un entorno interactivo de tiempo de diseo para crear objetos de ADO. Es posible usar estos objetos como un origen de datos para objetos preparados para datos en un formulario o en un informe, o se puede tener acceso a los mismos por programa mediante los mtodos y propiedades expuestos por el objeto DataEnvironment. El Diseador de entorno de datos admite todas las caractersticas del Diseador UserConnection de Visual Basic, as como caractersticas adicionales como arrastrar y colocar, jerarquas, agrupaciones y campos agregados. Control de datos ADO Todas las ediciones Un nuevo control de origen de datos compatible con OLEDB que funciona como los controles Data y Remote Data intrnsecos al permitirle crear una aplicacin de base de datos con un mnimo de cdigo. Enlace a datos mejorado Ediciones Profesional y Empresariales La versiones anteriores de Visual Basic slo permitan enlazar controles juntos en un formulario. Visual Basic 6.0 permite enlazar cualquier origen de datos ADO/OLE DB a cualquier receptor de datos ADO/OLE DB. Puede establecer la propiedad DataSource de los controles en tiempo de ejecucin para enlazar dinmicamente a orgenes de datos. Puede crear clases que son orgenes y receptores de datos, y enlazarlas mediante el nuevo objeto BindingsCollection. Puede crear controles personalizados que son orgenes

de datos similares al control de datos ADO. Puede crear controles personalizados con enlace complejo, similares al control DataGrid. Compatibilidad con OLE DB Todas las ediciones OLE DB es un conjunto de interfaces COM que proporcionan a las aplicaciones un procedimiento unificado de acceso a los datos almacenados en diferentes orgenes de informacin, tanto relacionales como no relacionales. Estas interfaces admiten las numerosas prestaciones de DBMS apropiadas para el origen de datos y permiten compartir sus datos. ADO es el modo en que los programadores obtienen acceso a OLE DB. Todos los nuevos controles enlazados a datos, el entorno de datos y el Diseador de informe de datos son compatibles con OLEDB. Integracin de las herramientas visuales de base de datos (Diseador de consultas y Diseador de bases de datos) Edicin Empresarial Cree y modifique visualmente esquemas y consultas de bases de datos. Cree tablas de bases de datos SQL Server y Oracle, utilice operaciones de arrastrar y colocar para crear vistas y cambie automticamente los tipos de datos de las columnas. Mejoras en los datos del Asistente para instalar Todas las ediciones El Asistente de empaquetado y distribucin (antes llamado Asistente para instalar) incorpora la compatibilidad con ADO, OLE DB, RDO, ODBC y DAO. Informe de datos Ediciones Profesional y Empresarial Permite emplear la tcnica de arrastrar y colocar para crear rpidamente informes a partir de cualquier conjunto de registros, incluso conjuntos de registros jerrquicos. Orgenes de datos

Ediciones Profesional y Empresarial Cree controles personalizados y clases que son orgenes de datos a los que puede enlazar otros controles. Ventana Vista Datos Ediciones Profesional y Empresarial Utilice la ventana Vista Datos para examinar todas las bases de datos a las que se conecta y mostrar sus tablas, vistas, procedimientos almacenados, etc. Editor SQL Edicin Empresarial Permite agregar nuevos procedimientos almacenados a bases de datos SQL Server y Oracle existentes. Tambin puede escribir desencadenantes mediante el editor. Control Hierarchical FlexGrid Todas las ediciones Una versin actualizada del control FlexGrid que adems de admitir toda la funcionalidad del control FlexGrid, puede mostrar una jerarqua de objetos Recordset de ADO. Cada objeto Recordset devuelto se muestra como una banda separada de la cuadrcula y es posible aplicarle formato independientemente. Control DataRepeater Ediciones Profesional y Empresarial Inserte un control de usuario en el control DataRepeater para crear un vista personalizada de una base de datos similar a los formularios de Access. El control de usuario puede incluir controles TextBox, CheckBox, DataGrid u otros controles enlazados a campos de datos. Pasar objetos Recordset de ADO Todas las ediciones Ahora es posible pasar objetos Recordset de ADO entre procesos e incluso entre equipos (mediante HTTP o DCOM); esto proporciona un modo eficiente de mover datos entre los diferentes niveles de una aplicacin multinivel.

Mejoras del Asistente para formularios de datos Ediciones Profesional y Empresarial Ahora, el asistente ofrece la posibilidad de generar formularios de slo cdigo donde los controles no estn enlazados a un control de datos. Permite usar cdigo de ADO. El asistente est integrado con los asistentes para aplicacin, cuadrcula y control FlexGrid.

Asistente para objetos de datos Ediciones Profesional y Empresarial Automatiza la creacin de objetos de la capa media enlazados al entorno de datos o a controles de usuario. Objetos del sistema de archivos Todas las ediciones Ofrece un conjunto especializado de subrutinas que permiten desplazarse por el sistema de archivos y crear archivos de texto y directorios. Objetos Format Todas las ediciones Proporciona la conversin de datos en los dos sentidos entre una base de datos y un control enlazado: al leer un valor de una base de datos, los objetos Format agregan el formato apropiado correspondiente al control enlazado. Control DataGrid Todas las ediciones Esta versin del control DBGrid compatible con OLEDB permite generar rpidamente una aplicacin para mostrar y

modificar conjuntos de registros. Tambin admite el nuevo control de datos ADO. Control DataList, controles DataCombo Todas las ediciones Estos controles son versiones para OLE DB de los controles DBList y DBCombo. Tambin admiten el nuevo control de datos ADO. Proveedor de Microsoft OLE DB para Oracle

El Proveedor de Microsoft OLE DB para Oracle permite a ADO obtener acceso a las bases de datos de Oracle. Parmetros de ConnectionString Para conectarse a este proveedor, establezca el argumento Provider de la propiedad ConnectionString como MSDAORA La lectura de la propiedad Provider tambin devolver esta cadena. Proveedor de OLE DB para Microsoft Jet

El Proveedor de OLE DB para Microsoft Jet permite a ADO obtener acceso a las bases de datos de Microsoft Jet. Parmetros de ConnectionString Para conectarse a este proveedor, establezca el argumento Provider de la propiedad ConnectionString como: Microsoft.Jet.OLEDB.3.51 La lectura de la propiedad Provider tambin devolver esta cadena. El Proveedor de OLE DB para Microsoft Jet admite varios parmetros de conexin especficos del proveedor, adems de los definidos por ADO. Al igual que sucede con todos los dems parmetros de conexin, pueden establecerse mediante la coleccin Properties del objeto Connection o como parte de la cadena de conexin. Parmetro Jet OLEDB:System Database Descripcin El nombre de archivo y la ruta de acceso del archivo de informacin de grupo de trabajo. La clave del registro de Windows que contiene el valor para el motor de base de datos Microsoft Jet. La contrasea de la base de datos.

Jet OLEDB:Registry Path

Jet OLEDB:Database Password

De forma predeterminada, el Proveedor de OLE DB para Microsoft Jet abre las bases de datos de Microsoft Jet en el modo de lectura/escritura. Para abrir una base de datos en el modo de slo lectura, establezca la propiedad Mode del objeto Connection de ADO en adModeRead. Uso del objeto Command El texto de comandos del objeto Command utiliza el dialecto Jet SQL. Puede especificar consultas que devuelvan filas, consultas de accin y nombres de tablas en el texto de los comandos; no obstante, no se admiten los procedimientos almacenados, por lo que no deben especificarse. Comportamiento de Recordset El motor de base de datos Microsoft Jet no admite cursores dinmicos. Por tanto, el Proveedor de OLE DB para Microsoft Jet no admite el tipo de cursor adLockDynamic. Cuando se solicita un cursor dinmico, el proveedor devolver un cursor de conjunto de claves y restablecer la propiedad CursorType para indicar el tipo de Recordset devuelto. Adems, si se solicita un Recordset actualizable (LockType es adLockOptimistic, adLockBatchOptimistic o adLockPessimistic), el proveedor tambin devolver un cursor de conjunto de claves y restablecer la propiedad CursorType. Vea tambin Para obtener informacin detallada acerca de implementaciones especficas e informacin funcional acerca del Proveedor de OLE DB para Microsoft Jet, consulte

la documentacin del Proveedor de OLE DB para Microsoft Jet incluida en el kit Data Access SDK. Cundo se debe utilizar ADO

ADO es la principal tecnologa de acceso a datos de Microsoft. Esta tecnologa junto con OLE DB forma la solucin recomendada para todos los accesos a datos. Si est programando una nueva aplicacin, debe utilizar sin duda ADO. Si va a migrar a ADO, debe decidir si las caractersticas y las ventajas de ADO son suficientes para justificar el costo de convertir el software existente. El cdigo anterior programado en RDO y DAO no se convertir de forma automtica en cdigo de ADO. Sin embargo, cualquiera que sea la solucin que haya programando anteriormente con otras estrategias de acceso a datos pueden implementarse con ADO. Con el tiempo debe cambiar a ADO. Elegir una estrategia de acceso a datos

Cuando elija una tecnologa de acceso a datos debe considerar las siguientes preguntas:

Se trata de un nuevo diseo o de una modificacin a una aplicacin existente que utiliza una tecnologa de acceso a datos "antigua"? Para una modificacin, es tentador seguir con los mtodos antiguos de

acceso a datos de la aplicacin. Para el futuro inmediato, esto parece una decisin razonable y de costo reducido. Sin embargo, la parte negativa es la dificultad de programacin a medida que la programacin tiene que utilizar nuevos orgenes de datos diferentes y la eventual obsolescencia. Para un diseo nuevo, debe utilizar ADO. Dnde estn los datos? Estn en World Wide Web, en un servidor remoto o almacenados localmente en el sistema del usuario? Si los datos estn almacenados localmente en el sistema del usuario, la necesidad de crear un servidor independiente para administrarlos puede parecer excesivo. Si los datos son remotos, qu pasa con la administracin de conexin? qu ocurrir cuando su aplicacin no se pueda conectar? debe utilizar una tecnologa de acceso a datos asncrona como ADO o RDO? Qu tecnologa de acceso a datos dominan los programadores? Ya tienen experiencia con ADO, RDO, DAO u ODBC? Vale la pena el costo reducido y el esfuerzo de entrenar a toda la plantilla en el uso de ADO? Si empieza a utilizar ADO, puede anticipar una reduccin del costo de mantenimiento en un futuro cercano? Requiere su aplicacin tener acceso a datos de orgenes relacionales y no relacionales? Tiene un proveedor OLE DB para cada uno? Si es as, debe utilizar ADO. Tiene la intencin de utilizar Microsoft Transaction Server (MTS)? Si este es el caso, debe elegir una de las tecnologas de acceso a datos que se puedan ejecutar en el servidor y actuar como un "administrador de recursos " (un trmino de MTS para un componente que implementa su conjunto de interfaces de administrador de recursos). Por ejemplo ADO, RDO y ODBC pueden actuar como administradores de recursos de MTS. La interfaz de DAO no puede actuar como un administrador de recursos. Tambin debe considerar si el componente debe ofrecer seguridad para subprocesos (como en ADO y RDO), ya que ste es un requisito para la mayora de los componente administrados por MTS si espera rendimiento y uso de recursos razonables.

Ya utilizan todas las aplicaciones la API de ODBC? Si contina con ODBC, cmo puede tener acceso su aplicacin a otros tipos de orgenes de datos en el futuro?

Puede utilizar las diferenciadas tecnologas de acceso a datos para implementar muchas estrategias de acceso a datos y de comunicacin de aplicaciones. Se muestran en la tabla siguiente. Su mejor eleccin es ADO Si su aplicacin requiere Datos de grandes sistemas o comunicaciones entre programas. Comentarios

Con Microsoft SNA Server puede configurar proveedores de datos OLE DB para orgenes de datos de grandes sistemas, como archivos VSAM, CICS, IMS y AS/400. Para aplicaciones existentes, debe considerar la posibilidad de volver a programar con ADO. Como alternativa, puede continuar con los mtodos de acceso a datos anteriores. Para cualquier programacin nueva debe utilizar la tecnologa de acceso a datos ADO de Microsoft.

Reingeniera.

Nueva programacin.

Acceso uniforme a varios ADO es una interfaz comn para orgenes de datos y todos los requisitos de acceso a varios tipos de datos. datos. Programacin rpida. ADO ayuda a minimizar los

costos de programacin porque es uniforme, coherente y fcil de utilizar. Puede entrenar a sus programadores una sola vez y aprovechar las ventajas. Alto rendimiento. ADO es muy rpido.

Pginas Active Server Si su aplicacin utiliza IIS con (ASP) de Internet ASP para generar HTML Information Server (IIS). independiente del explorador desde bases de datos, debe utilizar ADO. OLE DB Acceso a archivos personalizado. Puede programar proveedores de datos OLE DB personalizados para prcticamente cualquier origen de datos. A continuacin, puede usar ADO como la tecnologa de acceso a datos. RDO es muy rpido. ODBCDirect proporciona una mejora de rendimiento con respecto a tecnologa de acceso a datos DAO, ms antigua. DAO proporciona un modelo de programacin coherente para situaciones donde algunos de los servicios de acceso a datos se deben proporcionar con Microsoft Jet. Si ya tiene gran cantidad de cdigo DAO y desea pasar por

RDO

Acceso rpido a datos ODBC existentes.

ODBCDirect Acceso a datos ODBC.

DAO

Mejoras en el acceso a datos de DAO existente.

alto las ventajas de diseo, programacin y rendimiento proporcionadas por ADO, no tiene que modificarlo. Ejecucin en un entorno de 16 bits. ODBC Acceso rpido a datos ODBC existentes. DAO es la nica eleccin. Si desea programar y mantener cdigo complejo con la API de ODBC API, sta es una buena eleccin.

Crear el vnculo de datos OLE DB de Nwind

Un paso esencial en el acceso a los datos es la creacin de un origen de datos OLE DB para cada base de datos a la que desea tener acceso. Los pasos que se muestran abajo crean dicho objeto para la base de datos Nwind.mdb (Northwind), la cual se proporciona con Visual Basic. Este origen de datos se usa en algunos de los procedimientos de ejemplo que se ofrecen en la documentacin de Visual Basic. Solamente es necesario crear el origen de datos OLE DB una vez en un equipo. Para crear el origen de datos OLE DB de Nwind 1. Abra el Explorador de Windows o el Explorador de Windows NT. 2. Abra un directorio en el que desee crear el origen de datos OLE DB. En este ejemplo, abra Archivos de programa, Microsoft Visual Studio y VB98.

3. Haga clic con el botn secundario del mouse (ratn) en el panel derecho del Explorador y, a continuacin, haga clic en Nuevo del men contextual. De la lista de tipos de archivos, haga clic en Microsoft Data Link. 4. Cambie el nombre del nuevo archivo a Nwind.mdl. 5. Haga clic con el botn secundario del mouse en el archivo y seleccione Propiedades en el men contextual para mostrar el cuadro de dilogo Propiedades de Nwind.mdl. 6. Haga clic en la ficha Conexin. 7. Haga clic en cuadro Proveedor y seleccione Proveedor de OLE DB Microsoft Jet 3.51. 8. Haga clic en el botn Siguiente para ir a la ficha Conexin. 9. Haga clic en el botn Explorar (...) situado junto al primer cuadro de texto. 10. Use el cuadro de dilogo Seleccionar base de datos de Access para explorar el archivo nwind.mdb que est instalado en el directorio Archivos de programa\Microsoft Visual Studio\Vb98. 11. 12. Haga clic en Probar conexin para comprobar la conexin. Si la conexin es correcta, haga clic en Aceptar.

Nota Tambin puede crear un origen de datos OLE DB si abre el Panel de control y hace clic en el icono Vnculos de datos. En el cuadro de dilogo Organizar archivos de vnculos de datos, haga clic en Nuevo para crear un nuevo origen de datos. Proveedor de Microsoft OLE DB para ODBC

Para un programador de RDS o ADO, la situacin ideal sera aqulla en la que cada origen de datos mostrara una interfaz de OLE DB, de modo que ADO pudiera llamar directamente al origen de datos. Aunque cada vez ms proveedores de bases de datos implementan las interfaces de OLE DB, algunos orgenes de datos an no se muestran de este modo. No obstante, es posible obtener acceso a prcticamente todos los sistemas DBMS en uso actualmente a travs de ODBC. El Proveedor de Microsoft para ODBC permite a ADO conectarse a cualquier origen de datos ODBC. Existen controladores ODBC disponibles para cada DBMS principal en uso actualmente, incluido Microsoft SQL Server, Microsoft Access (el motor de base de datos Microsoft Jet) y Microsoft FoxPro, as como productos de base de datos no pertenecientes a Microsoft, como Oracle. El proveedor tiene subprocesamiento libre y est habilitado para Unicode. El proveedor admite transacciones, aunque los diferentes tipos de compatibilidad con transacciones varan segn los distintos motores de DBMS. Por ejemplo, Microsoft Access admite transacciones anidadas con una profundidad de hasta cinco niveles. ste es el proveedor predeterminado para ADO y, cuando se utiliza con Microsoft SQL Server 6.5, se admiten todos los mtodos y propiedades de ADO dependientes del proveedor,

excepto segn se indica en los temas de consulta del lenguaje ADO. Parmetros de ConnectionString Para conectarse a este proveedor, establezca el argumento Provider= de la propiedad ConnectionString como: MSDASQL La lectura de la propiedad Provider tambin devuelve esta cadena. Dado que ste es el proveedor predeterminado para ADO, si omite el parmetro Provider= en la cadena de conexin, ADO intentar establecer una conexin con este proveedor. Este proveedor no admite ningn parmetro de conexin especfico adems de los definidos por ADO; no obstante, pasar todos los parmetros de conexin que no sean de ADO al administrador del controlador ODBC. Dado que es posible omitir el parmetro Provider, puede crear una cadena de conexin de ADO que sea idntica a una cadena de conexin de ODBC para el mismo origen de datos mediante el uso de los mismos nombres de parmetros (DRIVER=, DATABASE=, DSN=, etc.), valores y sintaxis que utilizara al crear una cadena de conexin de ODBC. Puede conectarse con o sin un nombre de origen de datos (DSN) o FileDSN predefinido. Sintaxis con un DSN o un FileDSN:

"[Provider=MSDASQL;] { DSN=name | FileDSN=finename } ; [DATABASE=database;] UID=user; PWD=password" Sintaxis sin un DSN (conexin sin DSN): "[Provider=MSDASQL;] DRIVER=handler; SERVER=server; DATABASE=database; UID=user; PWD=password" Si se utiliza un DSN o un FileDSN, debe definirse mediante el Administrador de ODBC del Panel de control de Windows. Como alternativa al establecimiento de un DSN, puede especificar el controlador ODBC (DRIVER=), como "SQLServer", el nombre del servidor (SERVER=) y el nombre de la base de datos (DATABASE=). Tambin puede especificar un nombre de cuenta de usuario (UID=) y la contrasea de la cuenta de usuario (PWD=) en los parmetros especficos de ODBC o en los parmetros User ID y Password estndares definidos por ADO. Si incluye tanto los parmetros especficos de ODBC como los de ADO para estos valores, los parmetros de ADO tienen preferencia sobre los otros. Aunque una definicin DSN ya especifica una base de datos, puede proporcionar un parmetro DATABASE adems de un DSN para conectarse a una base de datos diferente. De esta forma tambin se cambia la definicin de DSN para que incluya la base de datos especificada. Resulta conveniente incluir siempre el parmetro DATABASE cuando se utiliza un DSN. De esta forma se garantiza que la conexin se realiza a la base de datos correcta, porque otro

usuario podra haber cambiado el parmetro de base de datos predeterminada desde la ltima vez que se comprob la definicin de DSN. Texto de Command El modo en que se utiliza el objeto Command depende en gran medida del origen de datos y de qu tipo de instruccin de comandos o consulta acepta. ODBC proporciona una sintaxis especfica para llamar a los procedimientos almacenados. Para la propiedad CommandText de un objeto Command, el argumento CommandText del mtodo Execute de un objeto Connection o el argumento Source del mtodo Open de un objeto Recordset, deber pasarse una cadena que tenga esta sintaxis: "{ [ ? = ] call procedure [ ( ? [, ? [ , ]] ) ] }" Donde cada ? hace referencia a un objeto de la coleccin Parameters. El primer ? hace referencia a Parameters(0), el siguiente ? hace referencia a Parameters(1), etc. Las referencias a los parmetros son opcionales y dependen de la estructura del procedimiento almacenado. Si desea llamar a un procedimiento almacenado que no defina ningn parmetro, la cadena ser como sigue: "{ call procedure }" Si dispone de dos parmetros de consulta, la cadena ser como sigue: "{ call procedure ( ?, ? ) }"

Si se desea que el procedimiento almacenado devuelva un valor, el valor devuelto se trata como otro parmetro. Si no tiene parmetros de consulta pero dispone de un valor devuelto, la cadena ser como sigue: "{ ? = call procedure }" Finalmente, si se dispone de un valor devuelto y dos parmetros de consulta, la cadena ser como sigue: "{ ? = call procedure ( ?, ? ) }" Comportamiento de Recordset Las tablas siguientes enumeran las propiedades y los mtodos de ADO estndares disponibles en un objeto Recordset abierto con este proveedor. Para obtener informacin ms detallada acerca del comportamiento de Recordset para la configuracin de su proveedor, ejecute el mtodo Supports y enumere la coleccin Properties del Recordset para determinar si existen propiedades dinmicas especficas del proveedor. Disponibilidad de las propiedades de Recordset de ADO estndares: Propiedad tipo Forwardonly Dinmica Conjunto de Esttica claves

AbsolutePage

no disponible no disponible lectura/escrit lectura/escrit ura ura

AbsolutePositi no disponible no disponible lectura/escrit lectura/escrit

on

ura

ura

ActiveConnect lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura ion BOF Bookmark CacheSize slo lectura slo lectura slo lectura slo lectura

no disponible no disponible lectura/escrit lectura/escrit ura ura lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura

CursorLocatio lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura n CursorType EditMode EOF Filter LockType MarshalOptio ns MaxRecords PageCount PageSize lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura slo lectura slo lectura slo lectura slo lectura slo lectura slo lectura slo lectura slo lectura

lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura no disponible no disponible slo lectura slo lectura

lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura

RecordCount Source State Status

no disponible no disponible slo lectura

slo lectura

lectura/escrit lectura/escrit lectura/escrit lectura/escrit ura ura ura ura slo lectura slo lectura slo lectura slo lectura slo lectura slo lectura slo lectura slo lectura

Las propiedades AbsolutePosition y AbsolutePage son de slo escritura cuando ADO se utiliza con la versin 1.0 del Proveedor de Microsoft OLE DB para ODBC. Disponibilidad de los mtodos de Recordset de ADO estndares: Tipo Conjunto Fordward- Dinmico de claves Esttico only S S S S

Mtodo AddNew Cancel CancelBatch CancelUpdate Clone Close Delete GetRows Move

S S No S S S S

S S No S S S S

S S S S S S S

S S S S S S S

MoveFirst MoveLast MoveNext MovePrevious

S No S No

S S S S S S S No S S S

S S S S S S S S S S S

S S S S S S S S S S S

NextRecordset* S Open Requery Resync Supports Update UpdateBatch S S No S S S

*No se admite para las bases de datos de Microsoft Access. Vea tambin Para obtener informacin detallada acerca de implementaciones especficas e informacin funcional acerca del Proveedor de Microsoft OLE DB para ODBC, consulte la documentacin del "Proveedor de Microsoft OLE DB para ODBC" y el manual Microsoft OLE DB Programmer's Reference, disponibles en el kit Data Access SDK. Tambin puede consultar la pgina Web de Data Access en http://www.microsoft.com/data. Usar los Proveedores de OLE DB con ADO

Gran parte de la versatilidad y la flexibilidad de ADO se debe al hecho de que puede conectarse a varios proveedores de datos diferentes y mostrar an el mismo modelo de programacin, independientemente de las caractersticas especficas de un proveedor dado. No obstante, dado que cada proveedor es nico, el modo en que la aplicacin interacta con ADO vara ligeramente entre los distintos proveedores. Las diferencias que se deben tener en cuenta suelen estar incluidas en una de las tres categoras siguientes:

Parmetros de conexin de la propiedad ConnectionString. Uso del objeto Command. Comportamiento de Recordset especfico del proveedor.

Se proporciona informacin detallada especfica del proveedor acerca de cada una de estas tres reas para cada uno de los proveedores disponibles actualmente de Microsoft, como se resume a continuacin. rea Bases de datos ODBC Tema Proveedor de Microsoft OLE DB para ODBC

Microsoft Index Server

Proveedor de Microsoft OLE DB para Microsoft Index Server

Microsoft Active Directory Proveedor de Microsoft Service OLE DB para Microsoft Active Directory Service Bases de datos de Microsoft Jet Microsoft SQL Server Bases de datos de Oracle Proveedor de OLE DB para Microsoft Jet Proveedor de Microsoft OLE DB para SQL Server Proveedor de Microsoft OLE DB para Oracle

Propiedades dinmicas especficas del proveedor Las colecciones Properties de los objetos Connection, Command y Recordset incluyen propiedades dinmicas especficas del proveedor. Estas propiedades ofrecen informacin acerca de la funcionalidad especfica del proveedor aparte de las propiedades integradas que admite ADO. Despus de establecer la conexin y de crear estos objetos, utilice el mtodo Refresh de la coleccin Properties del objeto para obtener las propiedades especficas del proveedor. Consulte la documentacin del proveedor y el manual OLE DB Programmer's Reference para obtener informacin detallada acerca de estas propiedades dinmicas.

Vea tambin Para obtener ms informacin acerca de los proveedores de OLE DB, consulte la documentacin de Microsoft OLE DB incluida en el kit Data Access SDK o visite la pgina Web de Microsoft Data Access en http://www.microsoft.com/data.

Вам также может понравиться