Eu quero implementar algo como o seguinte:
Neste pacote, desejo percorrer uma lista de nomes de bancos de dados, modificando dinamicamente as configurações do gerenciador de conexões.
No entanto, a primeira falha em "Test Connection" interromperá e falhará na execução do pacote.
Mas eu gostaria de continuar meu loop Foreach. Tenho a sensação de que isso deve ser possível (caso contrário, qual é o caso de uso dessas setas vermelhas de falha?)
As coisas que tentei incluem mexer com "MaximumErrorCount".
Para responder à pergunta que fiz, é possível continuar após as falhas, certificando-se de que MaximumErrorCount seja zero para a tarefa e seus contêineres pais ... Nesse caso, isso significa a tarefa "Test Connection", o contêiner "foreach" e o próprio pacote.
Acabei fazendo algo diferente. E Verificar uma conexão de Jamie Thomson antes de usá-lo foi útil aqui. Aqui está o que eu fiz:
Substituí a tarefa Test Connection por uma tarefa de script. A tarefa do script era quase exatamente como o script de Jamie, exceto que eu
Também alterei as setas que saem da tarefa de conexão de teste para avaliar expressões, elas avaliam:
respectivamente.
Também tive que me lembrar de editar as várias restrições na tarefa "Atualizar o último monitorado". Eu os mudei para usar um "OU" lógico.
Aqui está a aparência do meu pacote SSIS agora:
O caminho fácil...
Clique duas vezes na restrição de precedência (a linha verde) após a tarefa "Test Connection". Você deve ver "Opções de restrição", clique na lista suspensa "Valor" e selecione "Conclusão". Isso informa ao seu pacote para continuar em execução após a conclusão da tarefa, independentemente de ela falhar.
Observação: não altere a lista suspensa "Operação de avaliação" de "Restrição", a menos que queira adicionar uma Expressão a ser avaliada após a conclusão da tarefa. Também mantenha a restrição em "E lógico".
Espero que isto ajude.