Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2006
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Comitar transacciones con DBExpress, Delphi 6 y Firebird

Buenas tardes

Tengo un sistema al cual he codificado durante ya casi 3 años y ahora que segun yo casi esta terminado me doy cuenta de lo siguiente.

Utilizo DBExpress con Firebird, no se hasta que punto sean compatible, esto debido a que si creo un proceso que importe informacion en el cual estoy haciendo un applyupdates y terminando una transaccion que tenia iniciada, en mi PC que es una PC digamos buena, todo trabaja bien, pero cuando ya realizo un proceso de migracion de 10000 o mas registros veo que Windows disminuye su numero de memoria paginada, esto al punto en que si la maquina tienen poco espacio en HD el sistema deja de comitar las transacciones y no se almacena la informacion.

Cuando empese a programar en la aplicacion probe el volumen, y no pasaba esto, pero siempre comitaba hasta el final de cargar todos los 10000 o 20000 registros.

Creo que mi error debe estar al comitar la transaccion, pero no se que se tienen que hacer en DBExpress para que la transaccion se libere y pueda iniciar otra, no se si alguien cuenta con un ejemplo de como almacenar datos con DBExpress y Firebird, ahorita estoy con el apuro ya que no se si hay alguien como yo que tenga aplicaciones en donde manejan volumen de datos y utilicen DBExpress si hay alguien que use DBExpress le agradeceria si me puedo poner en contacto para compartir tips del componente, me queda claro que no es firebird el que falla, porque puedo abrir la aplicacion N veces y crear datos simultaneamente.

Sin mas me despido y espero alguien cuente con informacion para compartir.
Responder Con Cita
  #2  
Antiguo 26-05-2006
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
ciclo de transaccciones

Hola César.



No sé porque tengas esas clases de errores.


Pero prueba estó, dando por hecho que asi tengas el módulo de migración.



Código:
numREg <-- 1;
te conectas al dataset [DSOrigen](DB, archivo plano, xml)  donde deseas importar.
mientras no sea DS.Origen.eof
     numreg <--- numreg <--- 1
     DSDestino.insert;
     DsDEstino.FieldByname(X).AsValue := DsOrigen.FieldByname.Asvalue;
     DsDestino.post;
     SI numreg = 1000 (VALOR NO TAN CRITICO)
         DSDestino.close;
         TRASACCION.COMMIT;
         DSDestino.open;
         numreg <--- 0;
      FIN SI
      DSOrige.next
FIN MIENTRAS
DSDestino.close;
TRASACCION.COMMIT;

Si no, comentanos más el problmas que tienes, a lo mejor no estas haciendo commit, sino commitretaining y dejes muchas cosas abiertas.
__________________
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
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con las Transacciones en Firebird 1.5 y Delphi 2005 Jesús Pena Firebird e Interbase 3 08-04-2006 21:10:15
Transacciones FireBird con Zeos vichovi Conexión con bases de datos 3 13-07-2005 08:49:29
Gestión de transacciones manuales con dbExpress rudinger Conexión con bases de datos 1 09-03-2005 17:48:22
Transacciones en FireBird El_Raso Firebird e Interbase 1 26-11-2004 16:22:04
DbExpress - Transacciones - más de un clientDataSet carlosmari Conexión con bases de datos 7 29-09-2003 20:07:54


La franja horaria es GMT +2. Ahora son las 21:32:04.


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