Registrazione OnError del pacchetto SSIS
-
05-07-2019 - |
Domanda
Ho un pacchetto SSIS con due passaggi:
1) FTP su un server e scaricare un file su SQL Server locale 2) Esegui un Satatement SQL che attiva una stored procedure.
Entrambi questi passaggi funzionano correttamente, tuttavia, vorrei registrare l'esito positivo o negativo di questi passaggi, quindi nel sistema utilizzato, aggiungere una griglia con lo stato (esito positivo o negativo) di ciascun pacchetto SSIS che viene eseguito per quel giorno.
Per fare ciò, ho impostato un gestore eventi per il passaggio FTP e ho aggiunto un " Esegui task SQL " al gestore. Questo utilizza il " SqlStatementSource " proprietà all'interno di Espressioni proprietà e un'istruzione insert che inserisce il sistema :: variabili come System :: ErrorCode, System :: ErrorDescription.
Quando provo l'espressione con " Valuta espressione " pulsante, va tutto bene. Ma quando provo a testare l'evento usando una password errata nella connessione FTP, il passaggio FTP fallisce, ma il gestore eventi non viene sollevato anche se il tipo di gestore eventi è impostato su OnError.
Qualche idea?
Grazie in anticipo!
Soluzione
Quello che hai fatto sembra buono, non dovrebbe esserci alcun problema.
Assicurati di aggiungere il gestore degli errori a livello di pacchetto, ad esempio il livello superiore.
Oggi ho fatto lo stesso, nel mio caso, stavo esportando i miei dati in un file flat sull'unità locale e utilizzavo una variabile per FilePath . Ho usato anche il gestore di eventi OnError . Per verificare che funzioni correttamente o no, ho modificato la variabile FilePath in " Z: \ " (che non esiste sul mio sistema).
e ho ricevuto l'errore nel OnError gestore eventi come
-1073450982 componente "Destinazione file flat" (63) fallito la fase di pre-esecuzione e restituito codice di errore 0xC020200E.
-1071636466 Impossibile aprire il file di dati " Z: \ COM_10212009.txt " ;.
Spero che questo aiuti.