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)
-   -   Generadores y corte de energia electrica (https://www.clubdelphi.com/foros/showthread.php?t=28470)

FlacoNet 20-12-2005 21:38:49

Generadores y corte de energia electrica
 
:( Hola Amigos, no me van a poder creer lo que les voy a comentar.
Estoy usando generadores con IB 7.5.1, todo funciona bien..uso el componente de base de datos de Fibplus para consultar e incrementar los generadores.
En teoria el valor del generador NUNCA deberia decrementarse, pero en interbase sucede que luego de algun corte de corriente los generadores parecen volverse locos y decrementan su valor en decenas y algunas veces en centenas.
Una vez que se decremento aparentemente vuelve a incrementarse en 1 correctamente, y como los utilizo para generar una clave primaria, en algun momento se genera un error de clave Primaria, :( Kabum, y no puedo ingresar mas registros.

:) Se que la solucion seria conectar la PC a una UPS, pero de todas maneras no puedo estar dependiendo de algo tan comun como un un corte de energia y que cuando se produce me da tanto dolor de cabeza.

L :confused: es ocurrio esto a ustedes antes?
:confused: que me dicen?

Soluciones??

Casimiro Notevi 21-12-2005 09:23:49

Pues desde 1998 con freeIB, luego IBX y luego FibPlus (que son todos primos hermanos), nunca he tenido ese problema con los generadores.

En todo caso, si se va la luz, al encender de nuevo debería estar todo como antes, se quedaría como están, no va a decrementar por ello, no le encuentro lógica alguna, aunque quién sabe?, cuando se juntan la electricidad y las fuerzas electromagnéticas puede suceder cualquier cosa :D

uper 21-12-2005 16:41:37

saludos
yo digo que le compres a esa maquina un maldito no-break o ups para los apagones o descargas y no afecte a tu equipo, es mas costoso tus datos en disco que un no-break.

no se por que secede que con los apagones en ocaciones averia la base o incluso dañarla y si no tienes respaldos !Cuidado¡.

es cierto FlacoNet cuando explicas tu causa pero uno no se lo puede creer por que no lo vemos pero la electricidad es tan mala con los apagones.

FlacoNet 21-12-2005 23:01:49

Pero ahora, sin cortarse la electricidad
 
:rolleyes: Muchas gracias por sus comentarios. La verdad que tienen razon, compremos una UPS (no break) y se acabaron los problemas. pero.....
:confused: Que pasa si les digo que aun sin corte de electricidad el generador se vuelve hacia atras, no sera que estoy haciendo algo mal, no se...Me asegura, la gente que usa el sistema, que NUNCA se corto la electricidad, y por lo tanto eso me vuelve loco.

Utilizo interbase 7.5.1 y fibplus 6.2 .

:confused: Utilizo para obtener el valor del generador la funcion GEN_ID del componente de base de datos de fibplus y me da la posibilidad de aplicarle una transaccion la cual no estoy poniendo.
Tendra algo que ver esto???

:D Saludos y gracias

maeyanes 22-12-2005 16:12:53

Los generadores, tanto en Interbase como en Firebird viven fuera de las transacciones, esto es, una vez incrementado el valor de un generador, el hacer un rollback ya no lo decrementa.

Yo te recomendaría que verifiques la integridad de tu base de datos, puede que con tanto corte eléctrico se haya dañado.



Saludos...

jachguate 22-12-2005 16:51:42

Recordá que la función Gen_ID tiene un segundo parámetro, que es el valor a incrementar. El motor permite que este segundo parámetro sea negativo, con lo que efectivamente puede decrementarse el valor del generador:

Código SQL [-]
select gen_id(generador, -1000)
  from rdb$database;

si el generador tenía un valor de 5555, después de dicha instrucción tendrá un valor de 4555.

Hasta luego.

;)

FlacoNet 22-12-2005 23:05:29

Sobre la integridad
 
Si tuve en cuenta ese detalle, habia realizado un backup, restore y controlado con gfix si tenia algun problema y estaba todo perfecto.

Con respecto al segundo parametro, SI, conozco ese parametro y se que puede hacerse eso pero no es este el caso..

:( Sera que internamente ante angun error o algo, digo, algun error de interbase se ejecuta dicho incremento en forma negativa??

:confused: La verdad lo que hice para solucionar este problema es crear una tabla donde llego unos contadores, incremento dicho valor y lo uso..Algo asi como se usan los generadores pero implementado en tabla.
De todas maneras me gustaria saber que pasa con estos generadores que no me puedo dar por vencido , no puedo creer que esto funcione asi de mal..

:D Muchas gracias por su tiempo...

Casimiro Notevi 22-12-2005 23:39:33

Cita:

Empezado por FlacoNet
no puedo creer que esto funcione asi de mal

Seguro que no funciona así de mal ;)

Investiga más a fondo y seguro que encuentras al "culpable".

jachguate 23-12-2005 00:56:48

Sirva, para salvar el honor de la base de datos, que en los años que llevo de trabajar con ella, y un buen número de instalaciones ejecutandose, nunca he visto este comportamiento. Eso si, desde hace algunos años trabajo con firebird, por lo que no conozco las últimas versiones de Interbase ni lo he probado, ni lo creo probable.

Saludos.

rastafarey 26-12-2005 14:34:22

resp
 
Ya plantee es problema. Que creo que es un bug de un aversion d efirebird por que la form acomo medio el error fue un poco fea pero al parecer nadie le hizo caso, Solo espero que el erro no le spaso cuando su ssitema este instalado y se dañe medi abase de datos y les tengan que cortar la cabeza en la empresa.


La franja horaria es GMT +2. Ahora son las 17:12:58.

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