![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
es una suposición:
es probable que la applicación comience una trasacción y no la cierre, y abra ora, así anidandolas, o usando commit retaining, con lo cual no se cierra y firebird necesita tener el estado de todas sus trasacciones.
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
|
#2
|
|||
|
|||
|
Solo una sugerencia, probaste utilizando directamente una sentencia sql con un query.
Tal ves y solo tal ves sea un problema del componente que utilizas, por como hace la inserción del registro un ttable.
__________________
Suerte Alejandro |
|
#3
|
|||
|
|||
|
A ver, a las preguntas, efectivamente hay un registro que tarda muchisimo en grabarse, tanto que debo hacer un down del servidor, este es que que me da el saldo de los 30Mb a los 2Gb, (que por cierto es un registro normal y corriente y no siempre es el mismo).
Efectivamente, utilizo el componente TIBTable para hacer las inserciones y el TIBQuery para el borrado de registros. Despues de cada TIBTable.Post realizo un CommitRetaining. El PC que tiene el problema lo tengo a 700Km de distancia, por lo que lo que he hecho ha sido restaurar una imagen Ghost en un PC que tengo en casa con la misma configuracion que el de mi cliente, pero cosas de la vida, aqui no me pasa el error. El tiempo de las inserciones es normal, 1seg o menos aprox. Gracias de nuevo He probado metiendo un bucle infinito para añadir registros y nada, todo funciona OK. |
|
#4
|
||||
|
||||
|
No veo sentido a usar un TIBTable, ni un commit retaining (aunque no veo también por que esto pueda causar el problema en cuestión). Creo que podes usar un TIbSQL y seguir el consejo de aledieb en cuanto a simplemente lanzar un insert into. También creo que debieras hacer un commit, dado que no hay razón para mantener abierta la transacción durante tanto tiempo...
Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#5
|
|||
|
|||
|
El problema del commit es que me cierra la base de datos.
|
|
#6
|
||||
|
||||
|
El commit no cierra la base de datos. Si usas IBX, te cierra los datasets asociados, comportamiento normal de interbase/firebird, y defecto de las IBX, que lo dejan todo crudo, tal cual es.
Sin embargo, para las tablas lookups, podes tener otra transaccion de solo lectura, por ejemplo, y una transacción para el insert. Por otro lado, haciendolo con un TibSQL, como te sugerí antes, no hay nada que cerrar, pues este se ejecuta y listo. ![]() Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
#7
|
|||
|
|||
|
Atencion, mas informacion he puesto esta parte de codigo.
Resumo, lo que hace es mirar el tamaño de la base de datos antes del commitretaining, despues lo ejecuta y vuelve a mirar el tamaño. Luego almacena los tamaños en un fichero txt. Y este es el fichero obtenido despues de varias grabaciones. Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040050688 = Incremento : 000000000000 Antes: 000040050688 -> Despues: 000040058880 = Incremento : 000000008192 Antes: 000040058880 -> Despues: 000041844736 = Incremento : 000001785856 Antes: 000041844736 -> Despues: 000043622400 = Incremento : 000001777664 Antes: 000043622400 -> Despues: 000045404160 = Incremento : 000001781760 Antes: 000045404160 -> Despues: 000047181824 = Incremento : 000001777664 Antes: 000047181824 -> Despues: 000048963584 = Incremento : 000001781760 Antes: 000048963584 -> Despues: 000050741248 = Incremento : 000001777664 Antes: 000050741248 -> Despues: 000052523008 = Incremento : 000001781760 Antes: 000052523008 -> Despues: 000054300672 = Incremento : 000001777664 Antes: 000054300672 -> Despues: 000056082432 = Incremento : 000001781760 Antes: 000056082432 -> Despues: 000057860096 = Incremento : 000001777664 Antes: 000057860096 -> Despues: 000059641856 = Incremento : 000001781760 Antes: 000059641856 -> Despues: 000061419520 = Incremento : 000001777664 Antes: 000061419520 -> Despues: 000063201280 = Incremento : 000001781760 Antes: 000063201280 -> Despues: 000064978944 = Incremento : 000001777664 Antes: 000064978944 -> Despues: 000066760704 = Incremento : 000001781760 Antes: 000066760704 -> Despues: 000068538368 = Incremento : 000001777664 Antes: 000068538368 -> Despues: 000070320128 = Incremento : 000001781760 Antes: 000072101888 -> Despues: 000072101888 = Incremento : 000000000000 Antes: 000072101888 -> Despues: 000073883648 = Incremento : 000001781760 Antes: 000073883648 -> Despues: 000075665408 = Incremento : 000001781760 Antes: 000075665408 -> Despues: 000077447168 = Incremento : 000001781760 Antes: 000077447168 -> Despues: 000079224832 = Incremento : 000001777664 Antes: 000079224832 -> Despues: 000081006592 = Incremento : 000001781760 Antes: 000081006592 -> Despues: 000082788352 = Incremento : 000001781760 Antes: 000082788352 -> Despues: 000084570112 = Incremento : 000001781760 Antes del commitretaining se realiza el post de 3 tablas. He probado a eliminar 2 y dejar solamente un post y el resultado es el mismo, solo que al principio en vez de haber n registros que no incrementan tamaño han habido n*3 registros que no incrementan. Luego todo igual. Última edición por dec fecha: 12-09-2006 a las 10:34:43. |
|
#8
|
||||
|
||||
|
Hola, atani123, hice un programita con un timer que inserta un registro cada minuto, datos aleatorios, con la base de datos que me enviaste. Lo puse en marcha ayer, miércoles por la mañana, y de momento va creciendo poquito a poquito, lo voy a dejar funcionando durante este largo fin de semana (aquí es fiesta mañana viernes).
El lunes te cuento. P.d.: si me dices exactamente qué tabla es en la que hay que insertar los registros, así hago una simulación lo más real posible con tu forma de trabajar, he elegido una tabla al azar, una que no tenía ningún registro. La prueba es con Delphi 7 + FIBplus + Firebird 1.5 en servidor Suse Linux.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 07-09-2006 a las 08:51:46. |
|
#9
|
|||
|
|||
|
Si, las tablas son Cero y CeroCar es un Master/Detail.
De todas formas yo lo he probado y me ha funcionado bien. |
|
#10
|
||||
|
||||
|
Cita:
Edito: Ah, ok, no había leído tu mensaje anterior.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Con que sigo? | serfap | Varios | 6 | 12-06-2006 18:02:58 |
| Sigo con problemas con los indices | Antuan | Tablas planas | 6 | 10-10-2005 20:52:11 |
| sigo con MDI | pablo | OOP | 2 | 27-02-2005 17:42:15 |
| Sigo con mis preguntitas!!! | Critter | Varios | 1 | 15-12-2004 21:44:05 |
| sigo con la duda ? | saps | Conexión con bases de datos | 1 | 28-08-2003 11:22:27 |
|