Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-03-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Problema con FireBird

Uso FireBird 1.52, IBX 6.08 Delphi 6.0
En ocasiones que estoy trabajando en 2 PC's una como servidor donde tengo la base de datos y otra como cliente, me pone este error al querer modificar cualquier registro de una tabla.

Error Message:
----------------------------------------
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
lock conflict on no wait transaction.
deadlock.
update conflicts with concurrent update.

Tengo que darle ShotDown a FireBird para poder trabajar, uso Sólo el CommitRetaining en las Transacciones.

Agradezco cualquier sugerencia.
Responder Con Cita
  #2  
Antiguo 28-03-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Y muy bien dada, ya que tienes a dos usuarios editando lo mismo, hay bastantes formas de solucionarlo, leelo en el foro, una forma chapucera es la sig.

En le Settings del ibtransaction, (marcas) read_commited

read_committed
rec_version
wait cambias de no wait a wait.
Asi lo que hace es esperar a que una transacion termine para que el usuario siga trabajando, pero al usuario le puede parecer que no termina nunca si el proceso es largo.

Para salir del paso esta bien, pero controla mejor lo que puede o no puede hacer cada usuario.
Responder Con Cita
  #3  
Antiguo 28-03-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok..

gracias por el comentario pero, el problema no es ese, porque no hay ningun usuario conectado a la BD.

Que tenga buen día.
Responder Con Cita
  #4  
Antiguo 28-03-2005
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Habria que ver si estas actualizando otras tablas en el proceso, tal vez quede alguna modificación sin hacer el commit y ñuego al intentar actualizar de nuevo da el error. ¿Podiras explicar mas a fondo lo que estas insertando/actualizando?
Responder Con Cita
  #5  
Antiguo 29-03-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ahora esto....

He realizado pruebas SOLO con una PC como Cliente y en el Servidor No uso mi aplicación, y también me marca el mismo error, uso Sólo el CommitRetaining y Quiero Aclarar, Esto sucede 1 vez por semana aproximadamente, yo también he sospechado que la misma aplicación deja colgada las Transacciones pero en todas les doy CommitRetaining, quiero pensar que es algun bug de FireBird de la versión 1.52 ó que probablemente los componentes Ibx 6.08 provoquen dicho Error, por lo que he leido ya no hay compatibilidad con las nuevas versiones de FireBird con estos componentes (IBX)...

Gracias por su Respuesta.
Que tenga buen día.
Responder Con Cita
  #6  
Antiguo 30-03-2005
AdrianD AdrianD is offline
Miembro
 
Registrado: may 2003
Ubicación: San Juan - Argentina
Posts: 113
Poder: 21
AdrianD Va por buen camino
Aunque no uso esos componente, yo intentaria cambiar los CommitRetaining por Commit
Responder Con Cita
  #7  
Antiguo 30-03-2005
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
Señones


FireBird hasta la Versión 1.0.3 era compatible con InterBase, y podáin usar los mismos componentes IBX, pero de la Versión 1.5.X, ya no son compatibles. Por ende, tienes que utilizar componentes para FireBird en dos capas, y en tres capas usar dbexpress

JUan Carlos
Responder Con Cita
  #8  
Antiguo 30-03-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
mejor....

Yo me inclinaría más a los FibPlus aunque sean de paga, son descendientes de los IBX's.

Gracias por sus respuestas.
Responder Con Cita
  #9  
Antiguo 01-04-2005
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 193
Poder: 21
muli Va por buen camino
Yo trabajo con Firebird 1.5, con los IBX que trae D6, y con el propio D6, y no tengo ningún problema, es mas, estoy encantado con el rendimiento, tanto en aplicaciones de 2 como de 3 capas.

Saludos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #10  
Antiguo 01-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
ok

Muli, Y con cuantos Clientes tienes tu aplicación trabajando????

Usas Solo Commit ó CommitRetaining????

Usas algun Win2000 Server en el Servidor????

Que características tienen las PC's que usas para los clientes????
Ram, Mhz, DD,etc

Como tienes estructurada tu RED????



Agradezco tu comentario.
Responder Con Cita
  #11  
Antiguo 02-04-2005
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 193
Poder: 21
muli Va por buen camino
Y con cuantos Clientes tienes tu aplicación trabajando????
Ahora mismo existen 22 clientes simultaneos.

Usas Solo Commit ó CommitRetaining????
Depende la situación antes de cerrar uso commit, afterpost o afterdelete uso commitretaining.

Usas algun Win2000 Server en el Servidor????
En el server está Windows 2003 server

Que características tienen las PC's que usas para los clientes????
Ram, Mhz, DD,etc
Pc's Normales, hay de todo potentes, menos potentes, pequeños, grandes.

Como tienes estructurada tu RED????

Hay una red local de 11 puestos y acceden al programa a traves de la misma.

El resto acceden a través de Terminal Server o a través de Socket, indistintamente lo dejo a eleccción del cliente, hay veces que no se porque va mas rápido la primera opción , y otras veces la segunda.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #12  
Antiguo 02-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
mira esto

El Motivo de que es más rápido el Terminal Server que con los Socket's es que No Viajan los DATOS por la RED, sólo viajan las PANTALLAS de tu Aplicación, pero la desventaja de un terminal server es que por lo mucho te soporta alrededor de 30 clientes simultaneos aprox. si no me equivoco....

Gracias por contestar a mis dudas, uso casi lo mismo que tu usas por lo que lei.

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


La franja horaria es GMT +2. Ahora son las 12:51:08.


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