FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ejecutar dts si no se realiza copia en ftp!!
Hola tengo un problema en el que llevo varios dias trabajando y buscando pero no encuentro nada. Me seria muy muy util su ayuda y de antemano agradezco.
El problema es el siguiente: Tengo un metodo que copia en un ftp un determinado archivo con TIdFTP, eso lo hace correctamente. Quiero que cuando no se pueda producir esa copia debido a alguna falla que pueda presentar el sistema se active un dts que copie el archivo en el ftp, eso ya lo tengo hecho tambien, o sea el dts funciona correctamente cuando lo hago de forma manual. Ahora el problema seria que cuando no se pudiera realizar la copia mediante el metodo que tengo implementando el dts se ejecute hasta que la copia se realice correctamente, porque puede ser que lo intente la primera vez y no se copie el archivo en el ftp, o sea que siga intentandolo hasta que el archivo se haya copiado correctamente. Muchas Gracias desde ya por la atencion brindada. |
#2
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
¿Y qué tiene que ver esto con SQL? |
#3
|
|||
|
|||
Ejecutar dts hasta que se realice copia
Pense que si mi pregunta trataba sobre los dts quizas el mejor lugar para ponerla era en el foro de sql pero ya que la movieron pues debe ser aqui el mejor sitio.
Concretamente quisiera saber si existe alguna forma de ejecutar un dts hasta que realice la copia de la informacion a un ftp de forma satisfactoria. Gracias. |
#4
|
||||
|
||||
¿Qué es un dts?
// Saludos |
#5
|
||||
|
||||
Que pena... pero que es exactamente un dts?
Ahora si lo que entendí es correcto. lo que necesitas es validar el resultado de la operación para intentar repetirla si fué fallida. Podrías crear una función para subir al ftp que te devuelva el resultado de la carga (True/False) y si es false validar para volver a ejecutar n veces hasta obtener el resultado correcto. Algo así:
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#6
|
||||
|
||||
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 13-11-2012 a las 21:58:55. |
#7
|
|||
|
|||
Los DTS's
Hola, gracias por responder. Los DTS, por sus siglas en ingles son Data Transformation Services, y vienen incluidos dentro de SQL Server 2000, son paquetes de ejecucion de tareas, que como ya dije anteriormente mediante uno ya logro que me copie un archivo en el ftp en caso que mi metodo implementado falle.
Pero el problema es el siguiente: puede ser que el usuario quiera copiar el archivo en el ftp y en ese momento el sitio no este disponible, el usuario cierra la aplicacion y el dts debe ser capaz, de continuar con la copia del archivo, hasta que la realice correctamente, no parará, el usuario cerró el sistema pero la base de datos se mantiene corriendo en el servidor. |
#8
|
||||
|
||||
Hola.
Aclarado el término, moví el hilo al foro MS SQL Server. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
Hola Melissa_12.
Como te habrás dado cuenta mi conocimiento sobre MS SQL Server (y sobre todo de DTS) es muy pobre, pero te pongo unos enlaces donde se relaciona a Delphi con ellos:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
||||
|
||||
Yo tampoco sabía qué era eso de DTS, está claro.
|
#11
|
|||
|
|||
Hola!, gracias por responder.
Esos ejemplos estan muy buenos, de hecho si creo que me sirvan para llamar al DTS la primera vez si la copia falla cuando lo trate hacer desde mi metodo, pero el problema es que necesito que cuando el usuario cierre la aplicacion SQL Server continue tratando de realizar la copia en el ftp. He leido algo que se puede hacer con los Jobs de SQL pero no se muy bien como hacerlo, ademas que no se como parar cuando la copie se realice de forma correcta en el ftp. Alguien me dijo que el ftp puede tener variables que se activan cuando la copia se hace correctamente y se desactivan cuando se produce algun error pero la verdad es que no se me ocurre como hacerlo. Alguna idea se los agradecere. Graciassssss. |
#12
|
||||
|
||||
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.
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 |
#13
|
|||
|
|||
Muchas Gracias por responder movorack, ciertamente la idea que me has dado puede ser un camino viable para darle solucion a mi problema. Pero no se mucho acerca de programar un job, de hecho trate de hacer uno mediante una pagina donde lo explicaba y me dio error, tienes algun enlace donde pueda encontrar algo que sea de ayuda?
|
#14
|
||||
|
||||
Permiteme y te lo busco en google:
http://lmgtfy.com/?q=MS-SQL+Create+a+job
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#15
|
|||
|
|||
Hola!, pues ya hice el job y funciona bien, con un problema ya que bloqueo el ftp que tengo y el job me dice que la tarea se ha ejecutado correctamente, y no es asi ya que el archivo no esta en el ftp, pues claro este esta bloqueado. No se que podra ser?
|
#16
|
|||
|
|||
Hola, pues ya he resuleto el problema que he planteado anteriormente, he puesto en una tabla el resultado que arroja el dts y problema resuelto.
Ahora se me ha presentado otro ya que quiero que en el job que he hecho tengo dos pasos, el primero para determinar si el ftp esta disponible y el otro para copiar el archivo al ftp, quiero que si el ftp no esta disponible(o sea el paso 1) el job no ejecute el paso 2 y vuelva a intentar en el tiempo que yo le indique. Gracias!!!!!!!! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
no realiza CopyFile en red de un archivo | ingabraham | Varios | 9 | 31-05-2011 19:31:48 |
No realiza el update :( | nosferatu177 | MySQL | 2 | 29-05-2008 17:42:10 |
Copia de tablas como copia de seguridad | Mathom | Varios | 4 | 04-01-2006 09:19:57 |
Copia de seguridad y restablecer copia en paradox | Sayuri | Conexión con bases de datos | 4 | 30-08-2005 17:08:37 |
¿¿¿¿Quien realiza el Commit???? | AGAG4 | Conexión con bases de datos | 4 | 07-10-2004 02:11:22 |
|