Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2007
onaikul onaikul is offline
Registrado
 
Registrado: feb 2007
Posts: 4
Poder: 0
onaikul Va por buen camino
Indy Ftp por transacciones

Hola a todos estoy usando el componente IdFTP de indy pra subir unos archivos a un servidor y al mismo tiempo dar de alta registros en una tabla.
El tema es que quiero que si algo sale mal hechar todo para atras, o sea hacerlo como si fuese una transaccion.
Para la base de datos no tengo problema tengo manejo de transacciones pero como puedo hacer lo mismo con el componente de FTP ?

el problema principalmente lo tengo si yo primero borro archivos del servidor borro registros de una tabla que le hacen referencia y todo eso sale bien, pero la siguiente accion salta una excepcion vuelvo la tabla como estaba pero los archivos ya no los tengo....

Vi que hay unos metodos OpenWritebuffer FlushWriteBuffer pero creo son para otras cosas...

Alguna sugerengia?....
Responder Con Cita
  #2  
Antiguo 14-02-2007
Avatar de maxid
maxid maxid is offline
Miembro
 
Registrado: ene 2006
Posts: 38
Poder: 0
maxid Va por buen camino
una solucion util

Hola, creo que la solucion mas util seria, si los archivos no son muy grandes los cargues en un memo de la tabla. Lo ideal es que uses una base de datos buena como firebird no (paradox), de ese modo cuando haces un rollback perdes tambien el stream del archivo.
Responder Con Cita
  #3  
Antiguo 14-02-2007
onaikul onaikul is offline
Registrado
 
Registrado: feb 2007
Posts: 4
Poder: 0
onaikul Va por buen camino
Maxid, muchas graicas por contestar, pero por cuestiones de requerimientos, los archivos tienen que quedar en archivos, no puedo subirlos a la base.
Tenes idea si existe algo como lo que necesito?.
Muchas gracias
Responder Con Cita
  #4  
Antiguo 16-02-2007
Avatar de maxid
maxid maxid is offline
Miembro
 
Registrado: ene 2006
Posts: 38
Poder: 0
maxid Va por buen camino
onaikul

Pero no te hagas drama por eso, cuando vos concideras que la transacion termino con exito, bajas el stream de la base de datos creas el archivo fisico en disco y borras el registro que usas de modo temporal, eso te puede servir para hacer subidas de a bloques, dividiendo los archivos a subir y hacer transacciones mas chicas y seguras.
podes crear como un emule propio.
Ejemplo:
Empezas la transaccion con los datos del archivo:idTransaccion, nombre, tamaño, cantidad de bloques, etc. creas la cantidad de registros como bloques deben ser, empezas a subir a cada registro su bloque con un trigrer podes verificas cuando termina cada bloque si falta aguno por terminar y si estan todos listos creas el archivo y borras todas las filas para el idTansaccion numero "x". siempre y cuando el aarchivo se haya podido crear.
Responder Con Cita
  #5  
Antiguo 16-02-2007
onaikul onaikul is offline
Registrado
 
Registrado: feb 2007
Posts: 4
Poder: 0
onaikul Va por buen camino
Barbaro, me parece bien lo que no entiendo es lo siguiente, no tengo problemas en subir el archivo entero de una a un campo de una tabla, pero despues cuando termino, hago el post, y como bajo el archivo en ese campo a un directorio del servidor ?.
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
Las transacciones y yo gario Conexión con bases de datos 5 16-03-2009 17:23:13
transacciones. nazly Varios 4 13-06-2006 20:29:58
Transacciones joanajj Conexión con bases de datos 1 14-05-2006 12:58:57
Transacciones JulioGO Firebird e Interbase 1 07-05-2006 00:46:28
Ado y transacciones LucianoRey Conexión con bases de datos 6 15-04-2005 22:21:30


La franja horaria es GMT +2. Ahora son las 08:15:10.


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