Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2014
Kammamuri Kammamuri is offline
Registrado
 
Registrado: may 2006
Posts: 5
Poder: 0
Kammamuri Va por buen camino
Actualizo la información...

Finalmente, decidí volver a crear el ejecutable, esta vez con la pass masterkey e hice el cambio respectivo en el servidor.

Comprobé que todo fuera bien conectándome con isql tanto desde el servidor como desde el puesto de trabajo. En el caso del puesto de trabajo me decía que estaba conectado a: 192.168.0.152:C\bd\bd.sql.

Ejecuté el programa en ambos equipos e iniciaron sin problemas. Sin embargo, se presentó el siguiente inconveniente: Si hago una modificación en uno de los dos equipos no se ve el cambio en el otro hasta que no cierre y vuelva a ejecutar los programas.

Hice la siguiente prueba:

Ingresé un registro en el programa que funciona en el servidor y y comprobé si aparecía en el cliente con isql y nada. Entiendo que sí se conecta a la base de datos correcta por que, por un lado, la ruta es correcta y por otro, me aparecen los datos que se insertaron en una ejecución anterior. Pero no se actualiza hasta que cierre los programas.

Es como si al abrir el programa cliente trabajara con una copia de la base de datos y luego sincronizara la información al terminar. De hecho, al ingresar datos en una misma tabla en ambos equipos pasó lo siguiente: un generator asigno el 6 al correlativo del programa que corría en el servidor y el 7 al programa cliente. Pero el terminar la ejecución de los programas el registro 6 se eliminó.
Responder Con Cita
  #2  
Antiguo 23-07-2014
Kammamuri Kammamuri is offline
Registrado
 
Registrado: may 2006
Posts: 5
Poder: 0
Kammamuri Va por buen camino
Aclaro, por si alguien tiene dudas, que en el objeto TIBTransactión tengo la siguiente configuración:

Código:
    Params.Strings = (
      'read_committed'
      'rec_version'
      'nowait')
y que hago commit a la transacción:

Código:
DataModule1->IBQuery1->Transaction->CommitRetaining();
Por lo que entiendo que no va por ahí el problema.
Responder Con Cita
  #3  
Antiguo 23-07-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Los generadores en Firebird/Interbase no tienen en cuenta las transacciones. Esto quiere decir que dos sesiones diferentes con dos transacciones diferentes iran obteniendo números de un generador que serán correlativos. Si alguna transacción falla (rollback, exception, desconexión, etc.) el número generado se pierde.

Por lo que comentas, una de las dos transacciones (la que obtuvo el generador 6) ha fallado o se ha hecho un rollback o se ha desconetado y no ha podido grabar sus datos y por eso no ves ese registro.

Lo que comentas de que una aplicación no ve los datos de la otra es por el tema de transaciones. Cada vez que abres la aplicación se abre una transacción. Esta ve todos los datos que se hayan confirmado (commit) anteriores a si misma.
Si quieres ver en una aplicación los datos de otra, deberás cada tanto hacer un commit de la transacción y cerrar y volver a abrir los DataSets.
El CommitRetaining, Graba los datos, pero no abre otra transacción, por lo que seguirás viendo datos viejos.

No se como es la estructura de tu aplicación, pero si la quieres volver multipuesto, deberás ver como actualizar las transacciones.
* Cada vez que abras el formulario.
* Cada vez que grabes un datos, hacer commit y posicionarte otra vez en el registro que correponda al contador (Generador) obtenido.
* Un botón que haga lo que menciono en la línea anterior.
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
Problema de conexion a servidor remoto marcelofabianip MySQL 4 08-04-2012 09:24:43
ingresar a servidor remoto con nombre de usuario y contraseña Gaim2205 API de Windows 0 21-05-2008 17:41:11
Conectar a Mysql en servidor remoto albertillo Conexión con bases de datos 10 05-02-2007 17:17:58
Problema IP dinamica cn Servidor Control Remoto Namaris Redes 8 29-01-2007 23:22:48
Como conectar a servidor base de datos remoto???? AFilth Conexión con bases de datos 7 04-01-2006 13:06:51


La franja horaria es GMT +2. Ahora son las 09:02:16.


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