none
com + . acceso a datos RRS feed

  • 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.

    sábado, 29 de enero de 2011 15:02

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.
    sábado, 29 de enero de 2011 16:16
  • 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

    sábado, 29 de enero de 2011 17:31
  • 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

    sábado, 29 de enero de 2011 17:44
  • 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.

    lunes, 31 de enero de 2011 7:42
  • com+ te va a ser mas lento que si la dll la registras en cada maquina cliente con el programa instalador o a mano,com + no es bueno usarlo para acceso a datos.
    lunes, 31 de enero de 2011 16:36
  • 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
    lunes, 31 de enero de 2011 19:13
  • En cuanto a centralizar pero con ado en un com + es siempre para problemas,por lo menos son dos capas mas que pasa el vb.
    lunes, 31 de enero de 2011 20:28
  • entonces como centralizas y permites velocidad a datos ? es compatible sin com+?

     

    lunes, 31 de enero de 2011 20:48
  • 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
    lunes, 31 de enero de 2011 20:55
  • 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 ..

    martes, 1 de febrero de 2011 8:06
  • 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.
    martes, 1 de febrero de 2011 17:36