Usuario
com + . acceso a datos

Pregunta
-
Tengo una duda sencilla que espero qu emepodais resolver. Tengo una aplicacion en vb6 no es una magnifica apliccion . El problema que veo con Ado , es la rapidez en mostrar los datos en una base de access . tengo instlada una aplicacion en un sanatorio con 6 puestos . Nada de com plus de momento . Vb6 acces , planteandome cambiar a sql server claro esta. la aplicacion esta instalada en el servidor y los clientes acceden por acceso directo a la base de datos . Trabajo con recordset desconectados con trnsacciones etc . Ahora va la pregunta ? me cree una clase en la oficina para hacer una prubea con el com+. la clase tiene una function para abrir la conexion a la base de datos y realizar las consultas oportunas . instalo el proxy de com+ en los puestos clientes y tengo la dll en el servidor . y mi duda es . mejora el rendiemiento de la aplicacion la dll de conexion y consuta instalada en el servidor ? tengo un formulario de gestion con 60000 registros . sin esa dll me tarda unos 2 segundos en traer la informacion. si lo hago a traves de la dll los puestos clientes me tardan algo más . y otra pregunta. si a traves de un acceso directo a la aplicacion un cliente hace una consulta en la base de datos quien ejecuta la consulta el servidor o el cliente ? . esstoy confuso . Pensaba que con la dll y el proxy iba a notar diferenia de rendimiento .
muchismas gracias por todo . epero que alguien pueda sacarme de estas dudas de principiante a las que aun no encuentro respuesta.
Todas las respuestas
-
Al tener que pasar por otro componente, debe haber una pérdida de respuesta. Pero pregunto: ¿por qué devolver todos los registros? Lo ideal es que regrese datos según petición; he realizado páginas web con Microsoft Access como base de datos que tiene mucha información y responde excelentemente. La cuestión está en cojer los registros necesarios y cerrar conexión.
-
imaginate una gestion de registros. Quiza el problema sea que en una gestion deseo moverme por todos los datos . Imagina na gestion de pacientes de un hospital . Y que el usuario desea moverse por cada uno de ellos sin tener que especificar por cual . la historia es que cargo un recordset de 70000 ingresos en un hospital y con un barra de desplazamiento me muevo por el recordset . Lo que no me gustri aes que el usuario tenga que ingresar el codigo y mostrar lo datos . Por eso pensaba que al abrir una conexion y realizar la consulta desde una clase de com+ en uns ervidor recibiria la informacion mas rapidamente . no te parece excesivos que ado tarde 2 en recibir desde un puesto cliente pasando por el servidor 70000 registros ?
gracias guarraruco , asi da gusto
-
Entiendo; si es un requisito el recorrer registros,¿ te has planteado el cargar solo algunos campos/columnas y según selección del usuario cargar el resto de la información?. Cuando comentas que 'trabajas con recordsets desconectados' en cual objeto cargas el recordset? DataGrid?
Agrego: otro esquema es paginar x cantidad de registros (por ejemplo 5000 que me sigue pareciendo muuuchos) y un combobox agrega dinámicamente la cantidad de páginas (cantidad de registros/x), de manera que el usuario si no consigue en el actual conjunto de registros, pueda cargar los siguientes x. seleccionando en el combobox; de esa manera debe ser muy notable la diferencia de carga
-
cargo el recordset en Textbox !!! y a la vez voy abriendo otros de otras entidades relacionadas . De todas formas gracias por todo guarracuco . Mi problem es ver como aprovecho el com+ para resolver este problema .
De todas Hay alguna forma de paginar en Ado los registros para que vayan llegando de la base de datos temporalmente ? Gracias de nuevo.
-
-
mmm Luis no se si estas en lo correcto pero gracias de todas formas . Con complus existe el beneficio de tener solo la dll instalada en el servidor y que los clientes hagan las llamadas desde sus equipos a traves de com+ aplications . asi el servidor será quien ejecute las consultas a la base de datos y el unico camino de los datos el del servidor a los ps . Entiendo yo que se notará relativamente la diferencia . Com+ tiene sus ventajas
-
-
-
Es que no tiene sentido una dll en el com+ para acceder a los datos solamente,calcula que el vb tiene que conectar al com+ validarse,validar el paquete,que el pool de conecciones del com+ no se haya cerrado,conectar al sql,esperar los datos y darlos,todo eso hace el com+
Lo mejor es tener las cosas en sps ( y si es access los querys podes centralizarlos en algun .sql o txt) y llamar desde la aplicacion,te evitas muchas capas y aparte no entrar en el fangoso terreno del mts del com+ en donde si el objeto es transaccional transacciona con sql y sale cualquier cosa.
Otro tema,se te tilda el com+ y todos los que estan en espera no pueden trabajar....
- Propuesto como respuesta guarracuco lunes, 31 de enero de 2011 23:01
-
Querido luis . Centralizar los queruys en .sql o txt ? en SqlServe digo yo que seria con sps!! pero no se a que te refieres con "centrarlizarlos en algún .sql ) . Porque el problema es lo que dije anteriormente Ado Tarda 3 segundos en enseñarme 70000 registros que despue smanipulare grabare etc... y supuestamente lo que quiero es aprovechar la potencia del server !!!
De todas formas gracias por todo Luis. Esto de la rápidez de vs access me tiene frito .. y no creo que solo sea a mi ..
-
Lo que yo decia era que si el com+ se usaba para tener una sola dll con los querys centralizados centralizar los querys que cambian en access sin usar el com+ se puede hacer con un archivo ya que access no tiene sps. Si es sql hay que usar si o si sps. Igualmente la potencia del server es la del server sql,la potencia que tenga el com+ en estos casos mucho no agrega,es un paso mas de milisegundos quiza pero para ralentizar una consulta. Igualmente 70000 registros juntos es mucho para una pantalla,lo mejor es o buscar por algun filtro o paginar.