Ver Mensaje Individual
  #12  
Antiguo 14-11-2012
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 22
movorack Va camino a la famamovorack Va camino a la fama
Hola melissa_12

Pues, básicamente es una mezcla de los aportes que te hemos dado y un poco mas de investigación de tu parte.

EL primer paso es: Si al subir al FTP falla ejecute el DTS si no trabaje normalmente. Esto se puede conseguir muy fácil. Solo debes agregar un manejo de errores al proceso de subida y puedes si quieres meterlo dentro de una función para que te sea mas fácil.

Código Delphi [-]
function SubirEnFTP : boolean;
begin
  try
    //lineas para subir al FTP
    Result := True;
  except
    //Lineas para el manejo del error
    Result := False;
  end;
end;

procedure SubirArchivos
begin
  //Aqui ejecutara la subida de archivos y si no 
  //es satisfactoria ejecutará el dts
  if not SubirEnFTP then
      FuncionParaEjecutarDTS; //Aqui colocarás el codigo que realices para ejecutar el DTS desde delphi con el cual te ha ayudado Ecfisa
end;

Esto es solo el comienzo. el resto debes completarlo, investigando, programando e intentando.

A mi me queda la duda si al finalizar el programa como finaliza la transacción que llamó al DTS, finalizaría ese DTS. No se como digo me queda esa duda y si llegase a ser así entonces deberás atacar el problema con otra solución.

Se me ocurriría crear una tabla donde recibiera información de tareas ftp a ejecutar y un job de SQL estuviese revisando periódicamente esta tabla y una vez lo halla ejecutado marque su estado como tarea inactiva.

En este escenario, delphi trataría de ejecutar la subida de archivos y en caso de fallar registraría la tarea en la tabla. así al finalizar el programa se cierra la transacción pero la tarea que se ejecuta continuamente en el servidor haría su trabajo en el momento necesario. Esto también brindaría un mecanismo de revisión de las tareas ftp programadas.

Saludos, y como dije es apenas el comienzo.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita