Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Apr 2006
    Messaggi
    8

    [SQL Server] Raise error su DTS

    Salve

    Ho un piccolo problema con un DTS.
    Ho la necessita' di aggiornare dei dati - per un tour operator - con dei dati che al momento posso purtroppo scaricare soltanto in formato CSV da un server ftp (e' previsto - spero presto - un webservice...); vi e' un DTS schedulato la notte che prende i CSV - al momento scaricati da un semplice batch pianificato con il scheduled tasks di Windows - e li elabora aggiornando il database.
    I file contengono dati su circa 3000 accommodations del fornitore (hotels, resorts, ecc) percio' se qualcosa accade durante l'ftp - per come la cosa e' strutturata al momento - questi dati non vengono inseriti con conseguente potenzialmente grave calo dei bookings (se l'utente non trova le proprieta' sul sito, non puo' prenotare ovviamente..).
    Questo perche' l'ftp batch e' appunto un semplice batch, e al momento non vi e' nulla che verifichi se il download e' andato a buon fine e che, nel caso contrario, dica a Sql Server di NON procedere con l'aggiornamento del database (che prevede ovviamente lo svuotamento delle tabelle interessate, prima dell'import).

    Ora, ho aggiornato il DTS aggiungendovi un primissimo task che esegue un batch per il download ftp (esterno), ne analizza i log e restituisce vero o falso in una variabile a seconda che la sessione ftp sia andata tutta bene oppure no (per una qualsiasi ragione: login, connessione interrotta, ecc.).

    Ora nel caso questa variabile abbia valore falso (sessione ftp fallita) vorrei, in qualche modo, fare un raise di un errore a Sql Server, dicendo "hey, questo task (ftp) e' fallito quindi NON procedere con gli altri step del workflow (import, filtri, ecc)".


    Qualche suggerimento su come fare?
    voglio in pratica che il DTS venga completamente interrotto e null'altro accada in caso di ftp failure.

    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Nei DTS esiste anche il "File Transfer Protocol Task" quindi potresti provare a far fare a lui il trasferimento (invece di chiamare, se non ho capito male, un batch esterno)
    Dopo fai in modo di eseguire la seconda parte (import, etc) solo "ON SUCCESS" del primo task (workflow - on success, la freccina verde)

  3. #3
    Utente bannato
    Registrato dal
    Apr 2006
    Messaggi
    8
    Caspita, non l'avevo notato. Domattina lo provo subitissimo.
    Grazie mille per la dritta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.