Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema con FireBird (https://www.clubdelphi.com/foros/showthread.php?t=19504)

AGAG4 16-03-2005 18:37:23

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.

barman 28-03-2005 19:38:30

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.

AGAG4 28-03-2005 21:54:17

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.

AdrianD 28-03-2005 22:54:15

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?

AGAG4 29-03-2005 03:52:04

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.

AdrianD 30-03-2005 00:33:45

Aunque no uso esos componente, yo intentaria cambiar los CommitRetaining por Commit

teletranx 30-03-2005 01:57:33

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:o

AGAG4 30-03-2005 17:39:03

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

Gracias por sus respuestas.

muli 01-04-2005 12:53:22

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.

AGAG4 01-04-2005 17:00:09

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.

muli 02-04-2005 00:11:21

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.

AGAG4 02-04-2005 01:26:23

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.


La franja horaria es GMT +2. Ahora son las 00:34:24.

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