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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top