Академический Документы
Профессиональный Документы
Культура Документы
Duran Mrquez, Jorge Alberto Guevara Salinas, Christian lvaro Flor Rodrguez, Alberto Vera Morales, Julio Cesar
Un Objeto de Acceso a Datos, Data Access Objeto (DAO) es un componente que proveen un interfaz comn entre una aplicacin y uno o ms dispositivos de almacenamiento de datos. Los componentes DAO utilizan la tecnologa OLE. Es posible utilizar el motor JET a la hora de acceder a Microsoft SQL Server o a cualquier otra base de datos que disponga de un driver de ODBC, con el mismo cdigo DAO.
El siguiente cdigo se utiliza con DAO para abrir una base de datos ODBC, procesa un query, y devuelve una serie de records. Este cdigo establece una conexin "DSN-less"
sql = "Select * From titles" Set ws = DBEngine.Workspaces(0) Dim cnStr As String cnStr = "driver={SQL Server};server=mysvr;" & _ "database=pubs;uid=myuid;pwd=mypwd" Set db = ws.OpenDatabase(Name:="PUBS", Exclusive:=False, _ ReadOnly:=False, Connect:=cnStr) Set rs = db.OpenRecordset(sql, dbOpenDynaset) rs.MoveLast MsgBox "DAO: " & Str(rs.RecordCount) & " filas devueltas."
RDO (Objetos de Acceso a Datos Remotos) Con RDO y el control RemoteData, nuestras aplicaciones pueden acceder a fuentes de datos ODBC sin utilizar un motor local. Aunque se puede acceder a cualquier fuente de datos ODBC con RDO y el control de Acceso Remoto, donde conseguiremos el mayor rendimiento ser cuando trabajemos con servidores de bases de datos, como Microsoft SQL Server. Empleando RDO, podemos trabajar con todo tipo de cursores desde los ms simples a los ms complejos.
Podemos ejecutar querys que devuelvan cualquier nmero de resultados, o ejecutar procedimientos almacenados que devuelvan resultados con o sin parmetros y valores de retorno. Podemos limitar el nmero de filas que se devuelven, y monitorizar todos los mensajes y errores generados por la fuente de datos remota sin que esto afecte a la query que se est ejecutando. RDO permite operaciones tanto sncronas como asncronas, por lo que nuestra aplicacin no queda bloqueada mientras se ejecutan largas querys.
El modelo DAO se emplea con bases de datos ISAM, Access y ODBC databases. El modelo RDO se halla diseado nicamente para bases de datos ODBC, y ha sido optimado para su uso contra Microsoft SQL Server 6.0 y Oracle. El modelo RDO puede tener mayor rendimiento, ya que todo el proceso se lleva a cabo en el servidor y no en nuestra mquina. Con el modelo DAO parte del proceso se lleva a cabo en nuestra mquina local por lo que con este modelo, el rendimiento puede no ser tan bueno.
El modelo DAO emplea el motor del Jet. Sin embargo, el RDO no emplea el motor del JET, sino el motor ODBC del servidor. El modelo RDO es capaz de llevar a cabo querys sncronas o asncronas. El DAO tiene limitaciones a la hora de ejecutar este tipo de querys. El modelo RDO puede trabajar con cursores complejos, los cuales se encuentran limitados en el DAO.
'El siguiente cdigo se utiliza con DAO para abrir una base de datos ODBC, procesa un query asncrona, y devuelve una serie de records. Este cdigo establece una conexin "DSN-less"
Dim sql As String sql = "Select * From titles" Set en = rdoEngine.rdoEnvironments(0) With en .CursorDriver = rdUseOdbc End With Dim cnStr As String cnStr = "driver={SQL Server};server=mysvr;" & _database=pubs;uid=myuid;pwd=mypwd" Set cn = en.OpenConnection(DSName:="", _ Prompt:=rdDriverNoPrompt, Connect:=cnStr) Set rs = cn.OpenResultset(Name:=sql, Type:=rdOpenKeyset, _ Option:=rdAsyncEnable) While rs.StillExecuting DoEvents Wend rs.MoveLast MsgBox "RDO: " & Str(rs.RowCount) & " filas devueltas." rs.Close
ADO es un intermediario entre el programa y la base de datos. Usando ADO, el programa se comunica con la base de datos, consulta, edita, inserta, borra, registros, aade tablas, etc. ADO a su vez se comunica con la base de datos a travs de un proveedor de datos Principales componentes de ADO
Connection (Permite establecer una conexin 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)
Private cnn As ADODB.Connection Private rst As ADODB.Recordset Private Sub cmdAbrir_Click() Dim tField As ADODB.Field
ADO.NET es una evolucin del modelo de acceso a datos de ADO que controla directamente los requisitos del usuario para programar aplicaciones escalables. Se dise especficamente para el Web, teniendo en cuenta la escalabilidad, la independencia y el estndar XML.
ADO.NET utiliza algunos objetos ADO, como Connection y Command, y tambin agrega objetos nuevos. Algunos de los nuevos objetos clave de ADO.NET son DataSet, DataReader y DataAdapter. La diferencia ADO.NET y las arquitecturas de datos anteriores es que existe un objeto, DataSet, que es independiente y diferente de los almacenes de datos. Por ello, DataSet funciona como una entidad independiente. Se puede considerar el objeto DataSet como un conjunto de registros que siempre est desconectado y que no sabe nada sobre el origen y el destino de los datos que contiene. Dentro de un objeto DataSet, hay tablas, columnas, relaciones, restricciones, vistas, etc.
El objeto DataAdapter es el objeto que se conecta a la base de datos para llenar el objeto DataSet. En el pasado, el procesamiento de datos se basaba principalmente en la conexin. Ahora, con el fin de proporcionar a las aplicaciones multinivel mayor eficacia, se est adoptando para el procesamiento de datos un enfoque basado en mensajes que manipulan fragmentos de informacin. En el centro de este enfoque se sita el objeto DataAdapter, que proporciona un puente entre un objeto DataSet y un almacn de datos de origen para recuperar y guardar datos. Para ello, enva solicitudes a los comandos SQL apropiados que se ejecutan en el almacn de datos.
La conexin a SQl Server la realizaremos con el objeto SqlConnection del espacio de nombre System.Data.SqlClient. .NET framework proporciona varios objetos Connection, uno para cada tipo de espacio de nombres. De este modo para OleDb existe un objeto OleDbConnection del espacio de nombre System.Data.OleDb y para ODBC existe un OdbcConnection del espacio de nombres System.Data.Odbc si utilizamos .NET Framework 1.1 o del espacio de nombres Microsoft.Data.Odbc si utilizamos la versin 1.0.
Objetos DataSet. Para almacenar datos sin formato, datos XML y datos relacionales, as como para configurar el acceso remoto y programar sobre datos de este tipo. Objetos DataAdapter. Para insertar datos en un objeto DataSet y reconciliar datos de la base de datos. Objetos DataReader. Proporcionan una forma de leer una secuencia de registros de datos slo hacia delante desde un origen de datos SQL Server.
El objeto SqlConnection establece una conexin de base de datos, el objeto SqlCommand ejecuta una consulta a la base de datos y el objeto SqlDataReader recupera los resultados de la consulta.
'Mostrar resultados. MsgBox(results) El mtodo myReader.Read devuelve un valor booleano, que indica si hay ms registros que se puedan leer. Los resultados de la consulta SQL se muestran en un cuadro de mensaje. Cerrar los objetos SqlDataReader y SqlConnection: 'Cerrar el lector y la conexin de base de datos.
myReader.Close() myConn.Close()
Conclusiones
El modelo RDO puede tener mayor rendimiento, ya que todo el proceso se lleva a cabo en el servidor y no en nuestra mquina. Con el modelo DAO parte del proceso se lleva a cabo en nuestra mquina local por lo que con este modelo, el rendimiento puede no ser tan bueno.
Conclusiones
Aunque se puede acceder a cualquier fuente de datos ODBC con RDO y el control de Acceso Remoto, donde conseguiremos el mayor rendimiento ser cuando trabajemos con servidores de bases de datos, como Microsoft SQL Server.
Conclusiones
Usando DAO, RDO, ADO Y ADO.NET, el programa se comunica con la base de datos, consulta, edita, inserta, borra, registros, aade tablas, etc. Tenemos 4 tipos importantes en la conexin entre VB y SQL Server que son DAO, RDO y ADO. Y su evolucin ADO.NET