Ottimizzazione di un output degli errori con il componente script
Per impostazione predefinita, le due colonne aggiuntive in un output degli errori di Integration Services, ErrorCode e ErrorColumn, contengono solo codici numerici che rappresentano un numero di errore e l'ID della colonna in cui si è verificato l'errore. Questi valori numerici possono avere un'utilità limitata senza la descrizione dell'errore corrispondente.
In questo argomento viene descritto come aggiungere una colonna di descrizioni degli errori ai dati dell'output degli errori esistente nel flusso di dati tramite il componente Script. Nell'esempio viene aggiunta la descrizione dell'errore che corrisponde a un codice di errore specifico predefinito di Integration Services usando il metodo GetErrorDescription dell'interfaccia IDTSComponentMetaData100 disponibile tramite la proprietà ComponentMetaData del componente script.
Nota
Se si desidera creare un componente da riutilizzare più facilmente con più attività Flusso di dati e più pacchetti, è possibile utilizzare il codice di questo esempio di componente script come punto iniziale per un componente del flusso di dati personalizzato. Per altre informazioni, vedere Sviluppo di un componente del flusso di dati personalizzato.
Esempio
Nell'esempio illustrato viene utilizzato un componente script configurato come trasformazione per aggiungere una colonna di descrizione degli errori ai dati dell'output degli errori esistente nel flusso di dati.
Per altre informazioni su come configurare il componente Script da usare come trasformazione nel flusso di dati, vedere Creazione di una trasformazione sincrona con il componentescript e Creazione di una trasformazione asincrona con il componente script.
Per configurare l'esempio di componente script
Prima di creare il nuovo componente script, configurare un componente a monte nel flusso di dati per reindirizzare righe all'output degli errori quando si verifica un errore o un troncamento. A scopo di test, è possibile configurare un componente in modo da assicurarsi che si verificheranno errori, ad esempio configurando una trasformazione Ricerca tra due tabelle in cui la ricerca avrà esito negativo.
Aggiungere un nuovo componente script all'area di progettazione del flusso di dati e configurarlo come trasformazione.
Connettere l'output degli errori del componente a monte a questo nuovo componente script.
Aprire Editor trasformazione Script e nella pagina Script selezionare il linguaggio di scripting per la proprietà ScriptLanguage.
Fare clic su Modifica script per aprire l'IDE di Microsoft Visual Studio Tools for Applications (VSTA) e aggiungere il codice di esempio riportato di seguito.
Chiudere VSTA.
Nella pagina Colonne di input dell'Editor trasformazione Script selezionare la colonna ErrorCode.
Nella pagina Input e output aggiungere una nuova colonna di output di tipo
String
denominata ErrorDescription. Aumentare la lunghezza predefinita della nuova colonna fino a 255 per supportare messaggi lunghi.Chiudere l'Editor trasformazione Script.
Connettere l'output del componente script a una destinazione appropriata. Le destinazioni file flat sono le più facili da configurare per test ad hoc.
Eseguire il pacchetto.
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Row.ErrorDescription = _
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
End Class
public class ScriptMain:
UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
}
}
Rimanere aggiornati con Integration Services
Per i download, gli articoli, gli esempi e i video più recenti di Microsoft, nonché le soluzioni selezionate dalla community, visitare la pagina integration services in MSDN:
Visitare la pagina relativa a Integration Services su MSDN
Per ricevere una notifica automatica su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.
Vedi anche
Gestione degli errori nei dati
Uso degli output degli errori in un componente flusso di dati
Creazione di una trasformazione sincrona con il componente script