Tarefa 2: Criando um arquivo corrompido
Para demonstrar a configuração e o tratamento de erros de transformação, crie um arquivo simples de exemplo que, quando processado, possa causar uma falha em um componente.
Nesta tarefa, você criará uma cópia de um arquivo simples de amostra existente. Você deverá então abrir o arquivo no Bloco de Notas e editar a coluna CurrencyID para certificar-se de que não produzirá uma correspondência durante a pesquisa de transformações. Quando o arquivo novo for processado, a falha na pesquisa irá causar a falha da transformação Pesquisa de Códigos de Moeda e criará, portanto, uma falha no resto do pacote. Depois de criar o arquivo de amostra corrompido, você executará o pacote para exibir a falha do pacote.
Para criar um arquivo simples de amostra corrompido
No Bloco de Notas ou em qualquer outro editor de texto, abra o arquivo Currency_VEB.txt.
Por padrão, o arquivo Currency_VEB.txt é instalado na pasta C:\Arquivos de Programas\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data.
Use o recurso de localizar e substituir do editor de texto para encontrar todas as instâncias de VEB e substituí-los por BAD.
Na mesma pasta dos outros arquivos de dados de exemplo, salve o arquivo modificado como Currency_BAD.txt.
Importante Certifique-se de que o arquivo Currency_BAD.txt será salvo na pasta c:\Arquivos de Programas\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data.
Feche seu editor de texto.
Para verificar se um erro acontecerá durante o tempo de execução
No menu Depurar, clique em Iniciar Depuração.
Na terceira repetição do fluxo de dados, uma transformação Pesquisa de Códigos de Moeda tenta processar o arquivo Currency_BAD.txt e a transformação irá falhar. O fracasso da transformação fará o pacote inteiro falhar.
No menu Depurar, clique em Parar Depuração.
Na superfície de design, clique na guia Resultados da Execução.
Procure no log e verifique se o seguinte erro sem tratamento ocorreu:
[Lookup Currency Key[30]] Error: Row yielded no match during lookup.
Observação O número 30 é a ID do componente. Esse valor é atribuído quando você cria o fluxo de dados, ou seja, o valor do seu pacote pode ser diferente.