Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-01-2012
JAI_ME JAI_ME is offline
Miembro
 
Registrado: ene 2006
Posts: 188
Poder: 19
JAI_ME Va por buen camino
problema con programa remoto

tengo un programa que lo tenia funcionando local y funciona perfecto, uso delphi 6 y firebird como motor de base de datos,
la cuestión es que cuando intento colocarlo en red, cambio el uso de DM.IBTransaction1.CommitRetaining por DM.IBTransaction1.Commit para que los otros usuarios puedan ver los cambios que hicieron sobre la base de datos cada uno, el problema es que en una de las ventanas tengo un dbgrid con una consulta y cuando hago el commit se pierde la información de este y me obliga a ejecutar nuevamente esa consulta.

me dan alguna sugerencia de trabajar con una aplicación en red.
__________________
JaiMelendez
Responder Con Cita
  #2  
Antiguo 14-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que necesitas leer el documento "maestro" sobre transacciones, aquí lo tienes, a ver si te sirve.
Responder Con Cita
  #3  
Antiguo 14-01-2012
JAI_ME JAI_ME is offline
Miembro
 
Registrado: ene 2006
Posts: 188
Poder: 19
JAI_ME Va por buen camino
gracias casimiro por la respuesta he leido este manual muy interesante pero sigo con el problema, me ayudan a solucionar el problema ?
__________________
JaiMelendez
Responder Con Cita
  #4  
Antiguo 14-01-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
En el manual que te puso casimiro está la solución, si realmente lo leíste ya debiste haber encontrado el problema. No se trata de buscar respuestas directas, pues es obvio que nunca has trabajado con aplicaciones cliente-servidor por lo que creo que tienes que ponerte a estudiar bastantito sobre el tema, no solo transacciones sino muchos otros conceptos que en aplicaciones de "escritorio" no se utilizan pero que en entornos de red es indispensable conocer para no atorarse en problemas como el que te sucede.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 14-01-2012
JAI_ME JAI_ME is offline
Miembro
 
Registrado: ene 2006
Posts: 188
Poder: 19
JAI_ME Va por buen camino
gracias de todas sus respuestas, quizás tuve la solución en mis narices y no me di cuenta, este tema es de tiempo y estudio con los cuales no cuento en el momento, seria posible me dieran una solución mas precisa, ya que esta aplicacion debo entregarla el lunes a primera hora.

gracias
__________________
JaiMelendez
Responder Con Cita
  #6  
Antiguo 14-01-2012
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Si quieres una respuesta rapida, pues sigue usando commitretaining pero eso traera sus consecuencias. Al usar commit los cursores se cierran por lo que deberas volver a abrir los datasets. Te sugiero analices mejor las respuestas anteriores.

Saludos
Responder Con Cita
  #7  
Antiguo 14-01-2012
JAI_ME JAI_ME is offline
Miembro
 
Registrado: ene 2006
Posts: 188
Poder: 19
JAI_ME Va por buen camino
si el inconveniente del commitretaining es que si hay dos usuarios conectados sobre la misma tabla y ambos van a hacer actualizaciones sobre la misma, ninguno vera lo que ha realizado el otro hasta que no cierren la transacción mediante el commit, o rollback esto ultimo lo aprendi en el manual. cada usuario al entrar al sistema crea una transaccion esta tiene un TID y a medida que hay mas usuarios sera incrementado este ID, la cuestión es que hay que cerrar estas transacciones y al hacer esto me borra los dbgrid ya que obviamente cierra la transacción y debo crear otra para mostrar la información en dicho dbgrid, esto me afecta el rendimiento ya que demora un poco de tiempo en la creación de la nueva transacción.

caso contrario del commitretaining.
__________________
JaiMelendez
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Qué programa de control remoto usas? newtron Varios 45 02-12-2011 13:32:34
problema con ejecución de programa turbopascual5.0 Varios 0 15-04-2011 15:37:36
Problema al correr mi programa... enecumene OOP 5 05-10-2007 21:49:21
Problema con programa salvanano Conexión con bases de datos 16 29-04-2007 16:40:56
Problema IP dinamica cn Servidor Control Remoto Namaris Redes 8 29-01-2007 23:22:48


La franja horaria es GMT +2. Ahora son las 06:13:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi