![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Hombre desesperado .. Decepcionado de firebird
Hola a todos
Hace año y medio empeze un proyecto con delphi 6 y firebird (empezando con la v1 y ahora con v1.5), desde hace unos 6 meses me estoy desencantado y desesperando pues ciertos datos se me borran sin motivo alguno que puede estar pasando .... x favor necesito ayuda en la empresa que trabajo ya no se que decir ni que excusa poner Trabajo con ibx utilizo commitretaining los documento estan impresos son sacados despues que se graban x otro query y luego impresos es x eso que 100 % seguro que en su momento el dato estaba grabado , luego desaparece no hay en el sistema nnguna accion para modificar el asiento peor aun los auxiliares (Parte de contabilidad), los discos del servidor (Linux red hat 9) estan en perfecto estado , tampoco utilizo borrado en cascada ni nada que se le paresca .... que hago x favor necesito ayuda aunque sea de pago Atentamente Ivan ![]()
__________________
IVAND |
#2
|
|||
|
|||
![]() No desesperes....
Yo también acabo de empezar con Delphi-Interbase y te aseguro que funcionan bien. Necesitamos más detalles. Por ejemplo: el código de dephi: -al momento de insertar -al momento de generar el reporte. También incluye por favor el código de los queries que usas |
#3
|
|||
|
|||
![]() Otra cosa:
Me acordé que ese error muy posiblemente es porque no tienes READ-COMMITED en el IBtransaction Verificalo dandole doble click en el icono del transaction. |
#4
|
|||
|
|||
El codigo es muy simple cada que hace un insert a la cabeza disparas un commitretaing y cada vez que haces un insert en el detalle en el evento onnewrecord se insert la cabeza y se dispara el evento afterpost (commitretaing) , luego en el bottom de grabar un select que saca la cabeza y otro el detalle u listo , si te das cuenta las grabaciones son directas a las tablas asi que no deberia fallar
__________________
IVAND |
#5
|
|||
|
|||
Tube un problema parecido con los IBX
los datos desaperecian cuando se apagaba el equipo
los que hice fue entre tantas cosas fue: en el componente ibx (tdatasource) evento after post efectuar un commit retain y cuando el programa termina generar un commit esto lo hice con delphi 5 y interbase 6.0 espero que de pronto te ayude Carlos |
#6
|
||||
|
||||
Me imagino, supongo (sólo por mencionarlo), que no se te habrá olvidado hacer post
Quizás te sería de ayuda echar un vistazo a la cara oculta de delphi 4, ahí se explica muy claramente la manera de trabajar con interbase/firebird y es algo totalmente válido hoy en día con los nuevos delphi. Aquí la puedes descargar en pdf.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
desesperado
HUYYYYY que vaina, hasta ahora veo que eso pasa con firebird, llevo tres años con la version 1.0.3 y me parece un gestor muy serio, hasta el momento y toco madera no se me han desaparecido ni un caracter y tengo BD de 300 MB ya. Algo en el codigo debes estar haciendo mal en especial verifica las transacciones y te sugiero que realizes ejercicios sencillos de prueba.
|
#8
|
||||
|
||||
resp
Mira si mas no recuerdo los ibx tienen la particularidad que si no haces un commit en vez de comiretaning los datos llegan a estar completamente grabados cuando cierras tu aplicacion. Asi que una solucion es hacer commint en el afterpost.
Si quieres has un aprueba con commitretainig y cortas la energia de la maquina y veras que los datos se pierden y luego prueba con commit tambien prueba con un post forzado. Y por favor no le echas la culpa a Firebir(que pronto podra competir con aracle) si no a los componentes. A mi me dio exactamente el mismo problema y la tube que cambiar a fiplus que son muy pero muy buenos y luego me decidi por usas los ibobjects que segun veo tienen mejor rendimiento mientras mas datos hay.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#9
|
||||
|
||||
Hola.
Llevo trabajando varios años con Firebird y nunca me he encontrado con este problema. Sospecho que algo relacionado con el código se te está escapando. Deberias publicar aqui el código para que entre todos podamos averiguar que es lo que sucede. Saludos |
#10
|
||||
|
||||
Hola IVAND.
Realmente es un problema extraño... jamás he visto a Firebird perder un dato... así que seguramente hay algo en los componentes de acceso o en el propio código de tu aplicación. ¿Has intentado encontrar un patrón en los datos que se pierden? No se, quizas de un solo operador, o bajo ciertas circunstancias... horario, cortes de energía, operaciones anteriores/posteriores? Seguro algo se te está quedando en el tintero.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#11
|
||||
|
||||
Y no solo pasa cuando se va la luz...
como dice rastafarey el problema es porque la información no queda totalmente acentada con el commitReating, pero no solo pasa cuando se va la luz, tambien pasa cuando se cierra la aplicación incorrectamente, (a mi me paso algo así, fua varios meses atras no recuerdo muy bien pero era al pasar de un form a otro sin cerrar bien uno que estaba en showModal, esto me generaba una ecepción y en algunas ocaciones era necesario utilizar el famoso ctrl - alt - supr
![]() ![]() Y ratificando lo dicho anteriormente por rastafarey no culpen a Firebird, que yo al igual que muchos nos sentimos muy contentos con el exelete funcionamiento de Firebird. ![]() ![]() ![]() |
#12
|
||||
|
||||
Cita:
No nos convirtamos en talibanes, por favor. La cantidad de talibanes linuxeros fueron los que hicieron que me alejara de linux como de la peste durante 3 años por lo menos, es que era insoportable tratar con un gran porcentaje de usuarios de linux que no eran capaces de asimilar la más mínima crítica. Por suerte la situación ha cambiado últimamente. En fin, no hay mas ciego que el que no quiere ver.
__________________
Milo |
#13
|
|||
|
|||
Cita:
En tu caso pareceria que no se estuviese haciendo el commit de la transaccion de modificacion, la aplicacion que ha hecho los cambios mientras no se cierre, siempre ve sus propias modificaciones aunque la transaccion no este confirmada, hasta que se apaga el equipo y las operaciones sin confirmar se cancelan. Otra opcion es que la base de datos este dañada desde hace tiempo, aunque si fuese asi deberias notar muchos mas problemas. Yo pasaria el gfix para comprobar si hay algun tipo de daño en la estructura de la base de datos. Siendo que se trata de un programa propiedad de tu empresa, de modo que va a ser dificil que puedas mostrarnos el codigo fuente entero para poder detectar algun tipo de fallo. Yo en tu caso contrataria soporte con alguna empresa especializada como ibphoenix y que ellos auditen el codigo y detecten el fallo. Saludos |
#14
|
||||
|
||||
No esa no es mi idea
Con lo que dije no quiero tratar de hacer creer que Firebird esta inmaculadamente libre de errores y es cierto que fui un poco ambiguo, pero a mi forma de ver las cosas el encabezdo es un poco dramatico y muy alertante... si yo no se nada de Bases de Datos y busco en google sobre Firebird ya que es libre y ademas la puedo descargar muy facil de internet y me encuentro con "Hombre desesperado .. Decepcionado de firebird". ni me arrimo a ver que es el tal firevird.
Ahora cuando dije que no culpen a firebird me falto aclarar que no lo culpen por un error que no es de el, esto lo dije porque quiero que cresca mas y lastimosamente en muchas ocaciones no se investiga para clarificar si es verdad o no lo que se le imputa a un software y asi se genera una cierta apatia en muchas personas que inician. Ahora creo que la comparación con un taliban, fue dada de forma muy acelerada. |
#15
|
|||
|
|||
Hola a todos
Espero sepan disculpar si me he dirigido a firebird como el culpable de mis males pero cuando tienes a un monton de personas que te indican que le faltan datos y te muestran en la cara el papel impreso eso es terrible Probare con lo que me dicen , probare Gfix , commit en la transaccion espero poder resolver el problema a la brevedad posible Atentamente
__________________
IVAND |
#16
|
|||
|
|||
Mismo caso
Hola a todos los foristas, les explico mi porblema, la igual que a ivan, estoy realizando una aplicacion en en D7 y los IBX, me pas alo siguiente, tengo una relacion maestro detalle con dos tablas, Tavaluos(padre) y Tinvestigaciones(hijo), uso en ambas el commitretaining y el rollbackretaining, de hecho utilizo la tabla hijo e procedimientos internos y si salva datos, pero al dar post el la tabla padre decidi segui paso a paso el proceso de salvado , primero se "salva" de forma correcta el dato en el hijo, (lo observo en un watch debug, TInvestigacionesvalor1.value), cuando pasa el proceso por el post del padre, el watch me marca que el valor del hijo no me lo puede mostrar y posterior a este sucede que el valor del capo hijo aparece en 0 es decir nulo
![]() read_committed rec_version nowait alguien que me pdiera orientar mas por favor estoy desesperado pk ya casi termino el proyecto y unicamente me falta este dato. mil gracias |
#17
|
||||
|
||||
Resp
Corrijanme si me equivoco.
Pero no puede haber hijos sin padres a menos que el padre se ala muerto. Como se puede guardar un registro que depende directemente de un padre esto es imposible. Y dejen de estar peleando por estupideces y dediquense ayudar. Y les recomiendo que dejen de usar los ibx que ellos son el problema. Tienen a ibObjects fiplus y otros que de verda si trabajan como unos maestros Y aun cometen el error de seguir usando esos compoenentes que lo unico que hacen es dar problemas.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
#18
|
|||
|
|||
Y que paso, no volvimos criticones
Hola amigos, ye he trabajado durenta muchos años (ya perdí la cuenta creo que son 10) primero con interbase 4 (creo que ese era el que usaba en mi 486dx4) subiendo hasta el 6 open source desde delphi 3 hasta delphi 2005 y luego con firebird, usando el BDE, IBX, FIB, etc. Jamas en mi vida habia escuchado que se pierden datos y este hilo en mi opinion se salio de curso.
Creo que el fin de un foro es encontrar soluciones y dar opiniones y no atacar a tal o cual componente o tal o cual razón. Si alguien tiene un problema ayudemos a resolverlo, pero el que pregunta POR MUY desesperado que este debe dar mas detalles del problema, sino solo podermos adivinar. Concejo:
Espero te sirva. Adios
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel |
#19
|
|||
|
|||
Sigo Adivinando
Mira sigo adiviando cuidado con lo que haces al configura el componete IBTRANSACTION, sobre todo con las propiedades (las dos promeras afectan a la transaccion la útima dice cuando):
Dale, sigue buscando el error. Cuidates.
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel |
#20
|
||||
|
||||
resp
disculpen si dije algo muy fuerte y son ocomo si atacara a componetes.
Quisas fuy muy directo en mi explicacion pero lo que quise decir es que si dichos compoentes le estan dando tantos problñemas y no los conocen tan a fondo usen otros que sean un poco mas intuitivos. Pero si a la ley vamos todos son buenos y el problema radica en nosotros y no en los compoentes. Y que que queremos que los componentes hagan todo por nosotros.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
![]() |
|
|
![]() |
|