Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Lightbulb Diseño de sistema en RED LAN

Hola gente, gracias de ante mano, y quería ver si me podían ayudar a organizar mi sistema en red.
Tengo una maquina la cual sera el servidor del sistema y tendria el ejecutable con la base de datos firebird. Las componentes para conectar a la base son interbase (databse,transaction) y para el AMB dbgrid,datasourse y ibtable.
Quería saber si esta bien y que me recomiendan para poder manejar los abm correctamente entre los clientes y la información de la base se actualice bien , ya que probé altas y bajas de un cliente y hasta q no cierro el sistema en el otro, la grilla no me muestra los datos correctos.
La base la tengo conectada con una configuración remota por medio de la iplocal del servidor y la ruta donde se encuentra mi base.fdb.
Si me falta alguna información adicional para que me den una mano avisen.
Desde ya muchísimas gracias !!
Responder Con Cita
  #2  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Hola pelikno: ¿Miraste el tutorial de Caral?. Ahi explica todo lo que necesitas y en cuanto a las actualizaciones de datos creo que el problema esta en la configuracion del componente de transacciones que también explica dicho tutorial.-

Saludos.-
Responder Con Cita
  #3  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Hola pelikno: ¿Miraste el tutorial de Caral?. Ahi explica todo lo que necesitas y en cuanto a las actualizaciones de datos creo que el problema esta en la configuracion del componente de transacciones que también explica dicho tutorial.-

Saludos.-
Gracias ahi lo miro !!!
Responder Con Cita
  #4  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Gracias ahi lo miro !!!
Lo vi pero es solamente para conectar la base firebird y yo lo que busco es ver si estoy haciendo bien el diseño de mi sistema para que funcione correctamente en red, estoy probando ejecutar el sistema desde otra maquina por medio de un acceso directo al .exe y arranca bien, me muestra los datos de la base, pero al modificar algo no me lo refleja los cambios en las otras maquinas, me explico ?
Ejecuto el sistema en las dos maquinas(servidor y cliente), luego del cliente elimino un registro y en la grilla del servidor no me lo refleja.
en el evento afterpost de mi tabla localidades coloque esto lo cual no genero ningun efecto.
Código Delphi [-]
localidades.ApplyUpdates;
localidades.Refresh;
Responder Con Cita
  #5  
Antiguo 02-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, creo que has vuelto a olvidar decir con qué componentes estás trabajando, entre otras cosas
Lo que te acaban de recomendar es muy importante, tienes que verificar el tema de transacciones.
Además, tampoco te recomiendo que por internet trabajes de esa forma, debes tener el programa ejecutable en cada equipo/terminal y estos se conectarán al servidor donde está la base de datos.
También puedes trabajar como has indicado, accediendo al ejecutable en el servidor, pero entonces te recomiendo un VPN o un programa del estilo "terminal server".
Definitivamente, falta mucha más información de lo que estás haciendo, de cómo lo haces, de qué quieres conseguir exactamente, etc.

Por cierto, decías que era una conexión por internet y ahora dices que es una red local. Es muy diferente. Casi que no valen los consejos anteriores con el nuevo entorno que indicas.
Repito, información amplia, detallada y clara
Responder Con Cita
  #6  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Hola, creo que has vuelto a olvidar decir con qué componentes estás trabajando, entre otras cosas
Lo que te acaban de recomendar es muy importante, tienes que verificar el tema de transacciones.
Además, tampoco te recomiendo que por internet trabajes de esa forma, debes tener el programa ejecutable en cada equipo/terminal y estos se conectarán al servidor donde está la base de datos.
También puedes trabajar como has indicado, accediendo al ejecutable en el servidor, pero entonces te recomiendo un VPN o un programa del estilo "terminal server".
Definitivamente, falta mucha más información de lo que estás haciendo, de cómo lo haces, de qué quieres conseguir exactamente, etc.

Por cierto, decías que era una conexión por internet y ahora dices que es una red local. Es muy diferente. Casi que no valen los consejos anteriores con el nuevo entorno que indicas.
Repito, información amplia, detallada y clara
" firebird. Las componentes para conectar a la base son interbase (databse,transaction) y para el AMB dbgrid,datasourse y ibtable."
Por el tema de la conexion a internet, no hay , ya que es una conexion LAN como dice en el titulo.
Lo que quiero conseguir es que al realizar cambios en la base se me reflejen en todos tanto en el servidor como en los clientes.

Decime donde dije que era por internet asi lo modifico gracias

Última edición por pelikno fecha: 02-05-2012 a las 16:48:54.
Responder Con Cita
  #7  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Podrias poner el codigo donde das el alta?. En algun lugar haces

Código Delphi [-]
  TuTransaccion.commit;

Pd.: Yo sigo con que son las transacciones y con el permiso del compañero Casimiro pongo esto que una vez me sugirio
Responder Con Cita
  #8  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Mi ibtransaction esta configurada como el tutorial igual que la ibdatabase , sera alguna propiedad de las tablas que no esta correctamente seteada para que actualice los datos o se refresque correctamente ?, porque elimino un registro en la tabla localidades desde el cliente (el cual se ejecuta por medio de un acceso directo a la unidad compartida con el servidor en donde se encuentra miprograma.exe) y en la tabla localidades del servidor (es la maquina en la red lan la cual alberga el sistema y la base de datos firebird 2.5 y el dbms tambien) sigue figurando el registro supuestamente eliminado. Para que se vea la eliminación tengo que cerrar el sistema y volverlo abrir y ahí si se ven los cambios de la eliminación.
Responder Con Cita
  #9  
Antiguo 02-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por pelikno
Decime donde dije que era por internet asi lo modifico gracias
Aquí hablaste de conectar remotamente con la IP local, eso da a entender que la conexión es por internet .
Cita:
Empezado por pelikno
Ya pude crear el instalador y conecte la base firebird remotamente con ip local




Cita:
Empezado por MartinS
Pd.: Yo sigo con que son las transacciones y con el permiso del compañero Casimiro pongo esto que una vez me sugirio
Sí, casi con total seguridad es problema de transacciones, y ese documento es el "padre nuestro" sobre las tracciones
Responder Con Cita
  #10  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Podrias poner el codigo donde das el alta?. En algun lugar haces

Código Delphi [-]
  TuTransaccion.commit;

Pd.: Yo sigo con que son las transacciones y con el permiso del compañero Casimiro pongo esto que una vez me sugirio
Uso un dbNavigator para manipular la grilla, uso el append del navigator para crear un nuevo registro y edito los datos directamente de la grilla, luego guardo los cambios tb con el navigator.
Responder Con Cita
  #11  
Antiguo 02-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amigo pelikno, lo que comentas es asunto de las transacciones, el documento antes indicado es "primordial" en ese tema. Te aconsejo que lo leas y lo comprendas claramente para tener las ideas claras al respecto.
También haz una búsqueda por un tema que hemos tratado en otras ocasiones y tiene que ver con todo esto: post_event
Se trata de hacer saltar un evento en la base de datos para hacer "algo" que requerimos, cosa que también te viene bien para este caso.

Edito: por cierto, parece que te estuvieras enfadando por que intentemos ayudarte
Responder Con Cita
  #12  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Aquí hablaste de conectar remotamente con la IP local, eso da a entender que la conexión es por internet .


[/i]


Sí, casi con total seguridad es problema de transacciones, y ese documento es el "padre nuestro" sobre las tracciones
Por lo de internet, interpreto ip publica 190.x.x.x como Internet y local como por ejemplo 192.x.x.x ademas de LAN ( local area network) supuse que se interpretaria por el lado correcto, aunque creo que remotamente quiere decir que no se incia el sistema con el archivo ejecutable en la misma computadora sino se instancia desde otra ya sea LAN o WAN o alguna otra forma que no sea en la misma maquina.
Puede que sea un problema de interpretación y si me exprese mal pido disculpas y confirmo que es una red lan con la ip del servidor 192.168.1.226 y el cliente 192.168.1.227, el cliente tiene en el escritorio un acceso directo al .exe de mi aplicación en la carpeta compartida en el servidor

Por el lado de mi problema con los datos tiene que ser algo que me falte en el transaction o en las tablas. Pero el diseño esta correcto no ? me refiero a las componentes que utilizo para mi aplicación.
Responder Con Cita
  #13  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Amigo pelikno, lo que comentas es asunto de las transacciones, el documento antes indicado es "primordial" en ese tema. Te aconsejo que lo leas y lo comprendas claramente para tener las ideas claras al respecto.
También haz una búsqueda por un tema que hemos tratado en otras ocasiones y tiene que ver con todo esto: post_event
Se trata de hacer saltar un evento en la base de datos para hacer "algo" que requerimos, cosa que también te viene bien para este caso.

Edito: por cierto, parece que te estuvieras enfadando por que intentemos ayudarte
NOOOOOOO Casimiro al contrario !!! fue solo mala interpretación y en verdad agradezco tu tiempo y el del resto para darme una mano para solucionar el tema.
Segui el tutorial al pie de la letra y en una sola maquina funciona correctamente todo pero solamente en la manquina que realizo los cambios en la otra no veo nada distinto hasta que no cierro y vuelvo abrir el sistema. Al parecer porque se conecta y desconecta la base y se actualiza la info.
Responder Con Cita
  #14  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
Uso un dbNavigator para manipular la grilla, uso el append del navigator para crear un nuevo registro y edito los datos directamente de la grilla, luego guardo los cambios tb con el navigator.
Bueno. Creo que nunca use el DbNavigator para dar de alta un registro (aunque creo que solo lo estas usando para probar) y por lo tanto no se bien como captar que boton apreta el cliente. Lo que si puedes hacer y como para probar es en el evento que indicas "afterpost" poner así:

Código Delphi [-]
localidades.ApplyUpdates;
TuTransaccion.commitRetaining;
localidades.Refresh;

y en cuanto a componentes yo no uso IbTable, lo hago a traves de IbDataset pero creo que no esta mal como lo implementas.-

PD: Son las transacciones
Responder Con Cita
  #15  
Antiguo 02-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por MartinS Ver Mensaje
PD: Son las transacciones
Son las transacciones, amigo pelikno
Responder Con Cita
  #16  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Bueno. Creo que nunca use el DbNavigator para dar de alta un registro (aunque creo que solo lo estas usando para probar) y por lo tanto no se bien como captar que boton apreta el cliente. Lo que si puedes hacer y como para probar es en el evento que indicas "afterpost" poner así:

Código Delphi [-]
localidades.ApplyUpdates;
TuTransaccion.commitRetaining;
localidades.Refresh;

y en cuanto a componentes yo no uso IbTable, lo hago a traves de IbDataset pero creo que no esta mal como lo implementas.-

PD: Son las transacciones
Lo del navigator es para prueba , probe con lo que me dijiste y sigue igual, tengo que cerrar la aplicacion en el cliente para poder refrescar los cambios que hizo el servidor y viceversa .
Responder Con Cita
  #17  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Imagino que estas haciendo referencia a traves del datasource al IbTable. Por eso yo uso IbDataset donde la consulta sale a partir de una sentencia SQL que se actualiza cada vez que se abre el formulario, por decirlo de alguna forma.

Por ejemplo

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Sql.Clear;
   IbQuery1.Sql.Add(Select Apellido,Nombres,DNI,Direccion From Clientes);
   ibQuery1.Sql.Open;

y para actualizar con un simple

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Open;

me funciona
Responder Con Cita
  #18  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
Imagino que estas haciendo referencia a traves del datasource al IbTable. Por eso yo uso IbDataset donde la consulta sale a partir de una sentencia SQL que se actualiza cada vez que se abre el formulario, por decirlo de alguna forma.

Por ejemplo

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Sql.Clear;
   IbQuery1.Sql.Add(Select Apellido,Nombres,DNI,Direccion From Clientes);
   ibQuery1.Sql.Open;

y para actualizar con un simple

Código Delphi [-]
 IbQuery1.close;
   IbQuery1.Open;

me funciona
si si tengo en la grilla,datasource y ibtable. Claro te funciona porque se realiza la consulta otra vez a la base con los datso actualizados, pero no entiendo porque con el ibtable no lo hace, le hice un trasaction.commit; y me cierra todas las tablas, como que rompe todo.
Responder Con Cita
  #19  
Antiguo 02-05-2012
MartinS MartinS is offline
Miembro
NULL
 
Registrado: nov 2011
Ubicación: Villa Cacique - Argentina
Posts: 283
Poder: 13
MartinS Va por buen camino
Cita:
Empezado por pelikno Ver Mensaje
si si tengo en la grilla,datasource y ibtable. Claro te funciona porque se realiza la consulta otra vez a la base con los datso actualizados, pero no entiendo porque con el ibtable no lo hace, le hice un trasaction.commit; y me cierra todas las tablas, como que rompe todo.
El commit solo cierra los dataset usa commitretaining. Igual debe quedar colgado algún procedimiento para hacer. A partir de aquí desconozco porque no hago nunca referencia al ibtable directo para mostrar datos, siempre uso Query's.
Responder Con Cita
  #20  
Antiguo 02-05-2012
pelikno pelikno is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 95
Poder: 14
pelikno Va por buen camino
Cita:
Empezado por MartinS Ver Mensaje
El commit solo cierra los dataset usa commitretaining. Igual debe quedar colgado algún procedimiento para hacer. A partir de aquí desconozco porque no hago nunca referencia al ibtable directo para mostrar datos, siempre uso Query's.
Porque usas querys?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Diseño de Sistema magnu9 Varios 14 16-10-2007 06:27:53
Consulta con diseño de BD Petolansa Varios 7 11-08-2007 03:30:01
en diseño web miamuxi Conexión con bases de datos 6 19-01-2007 21:13:50
Diseño pepelu1975 Varios 1 31-05-2004 10:55:36
duda en el diseño wonder boy SQL 3 31-03-2004 20:55:06


La franja horaria es GMT +2. Ahora son las 15:39:17.


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