Aprimorando uma saída de erro com o componente Script
Por padrão, as duas colunas extras em uma saída de erro do Integration Services, ErrorCode e ErrorColumn, só contêm códigos numéricos que representam um número de erro e a ID da coluna na qual o erro ocorreu. Esses valores numéricos podem ter uso limitado sem a descrição de erro correspondente.
Este tópico descreve como acrescentar uma coluna de descrição de erro a dados de saída de erro existentes no fluxo de dados usando o componente Script. O exemplo adiciona a descrição de erro que corresponde a um código de erro específico e predefinido do Integration Services, usando o método GetErrorDescription da interface do IDTSComponentMetaData100, disponível através da propriedade ComponentMetaData do componente Script.
Observação |
---|
Se desejar criar um componente que possa ser reutilizado mais facilmente em várias tarefas de fluxo de dados e em vários pacotes, procure utilizar o código deste exemplo de componente Script como o ponto inicial de um componente de fluxo de dados personalizado. Para obter mais informações, consulte Desenvolvendo um componente de fluxo de dados personalizado. |
Exemplo
O exemplo demonstrado aqui usa um componente Script configurado como uma transformação para acrescentar uma coluna de descrição de erro a dados de saída de erro existentes no fluxo de dados.
Para obter mais informações sobre como configurar o componente Script para uso como uma transformação no fluxo de dados, consulte Criando uma transformação síncrona com o componente Script e Criando uma transformação assíncrona com o componente Script.
Para configurar esse exemplo de componente Script
Antes de criar o novo componente Script, configure um componente upstream no fluxo de dados para redirecionar linhas para sua saída de erro quando um erro ou truncamento ocorrer. Por motivo de teste, você pode configurar um componente de forma a assegurar que os erros ocorram – por exemplo, configurando uma transformação Pesquisa entre duas tabelas onde a pesquisa vai falhar.
Adicione um novo componente Script à superfície de designer de Fluxo de Dados e configure-o como uma transformação.
Conecte a saída de erro do componente upstream ao novo componente Script.
Abra o Editor de Transformação Scripts e, na página Script, para a propriedade ScriptLanguage, selecione a linguagem de script.
Clique em Editar Script para abrir o Microsoft Visual Studio Tools for Applications (VSTA) IDE e adicionar o código de exemplo mostrado abaixo.
Feche o VSTA.
No Editor de Transformação Scripts, na página Colunas de Entrada, selecione a coluna ErrorCode.
Na página Entradas e Saídas, adicione uma coluna de saída nova de tipo String denominada ErrorDescription. Aumente o comprimento padrão da coluna nova para 255 para suportar mensagens longas.
Feche o Editor de Transformação Scripts.
Anexe a saída do componente Script a um destino satisfatório. Um destino de arquivo simples é o mais fácil de configurar para testar ad hoc.
Execute o pacote.
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);
}
}
|