Restrições de precedência
As restrições de precedência vinculam executáveis, contêineres e tarefas em pacotes em um fluxo de controle e especificam condições que determinam a execução de executáveis. Um executável pode ser um contêiner Loop For, Loop Foreach ou Sequência; uma tarefa; ou um manipulador de eventos. Os manipuladores de eventos também usam restrições de precedência para vincular os seus executáveis a um fluxo de controle.
Uma restrição de precedência vincula dois executáveis: o de precedência e o restrito. O executável de precedência é executado antes do executável restrito e o resultado da execução do executável de precedência poderá determinar se o executável restrito será executado. O diagrama a seguir mostra dois executáveis vinculados por uma restrição de precedência.
A arquitetura de contêiner aninhado do Integration Services habilita todos os contêineres, com exceção do contêiner host da tarefa que encapsula somente uma única tarefa, a incluírem outros contêineres, cada um com seu próprio fluxo de controle. Os contêineres Loop For, Loop Foreach e Sequência podem incluir várias tarefas e outros contêineres que, por sua vez, podem incluir várias tarefas e contêineres. Por exemplo, um pacote com uma tarefa Script e um contêiner Sequência tem uma restrição de precedência que vincula a tarefa Script e o contêiner Sequência. O contêiner Sequência inclui três tarefas Script e suas restrições de precedência vinculam as três tarefas Script em um fluxo de controle. O diagrama a seguir mostra as restrições de precedência em um pacote com dois níveis de aninhamento.
Como o pacote está no topo da hierarquia de contêineres do SSIS, vários pacotes não podem ser vinculados por restrições de precedência; entretanto, é possível adicionar uma tarefa Executar Pacote a um pacote e, indiretamente, vincular outro pacote ao fluxo de controle.
É possível configurar restrições de precedência adotando um dos seguinte procedimentos:
Especifique uma operação de avaliação. A restrição de precedência usa um valor de restrição, uma expressão, ambos ou para determinar se o executável restrito será executado.
Se a restrição de precedência usar um resultado de execução, você poderá especificar o resultado de execução para ser sucesso, falha ou conclusão.
Se a restrição de precedência usar um resultado de avaliação, você poderá fornecer uma expressão que avalie a um booleano.
Especifique se a restrição de precedência é avaliada isoladamente ou junto com outras restrições aplicáveis ao executável restrito.
Operações de avaliação
Integration Services fornece as operações de avaliação a seguir:
Uma restrição que usa somente o resultado da execução do executável de precedência para determinar se o executável restrito será executado. O resultado da execução do executável de precedência pode ser conclusão, sucesso ou falha.
Uma expressão que é avaliada para determinar se o executável restrito será executado. Se a expressão avaliar como true, o executável restrito será executado.
Uma expressão e uma restrição que combinam os requisitos dos resultados da execução do executável de precedência e os resultados de retorno da avaliação da expressão.
Uma expressão ou restrição que usa os resultados da execução do executável de precedência ou os resultados de retorno da avaliação da expressão.
A expressão deve ser uma expressão válida do SSIS e pode incluir funções, operadores e, variáveis do sistema e personalizadas. Para obter mais informações, consulte Referência de Expressão do Integration Services e Variáveis do Integration Services.
Resultados da execução
A restrição de precedência pode usar os resultados de execução a seguir sozinhos ou em combinação com uma expressão.
A conclusão requer que somente o executável de precedência seja concluído, sem considerar o resultado, para que o executável restrito seja executado.
O sucesso requer que o executável de precedência seja concluído com êxito para que o executável restrito seja executado.
A falha requer que o executável de precedência falhe para que o executável restrito seja executado.
Observação |
---|
Somente as restrições de precedência que forem membros da mesma coleção Precedence Constraint poderão ser agrupadas em uma condição AND lógica. Por exemplo, você não pode combinar restrições de precedência de dois contêineres Loop Foreach. |
Configurando uma restrição de precedência
Você pode definir propriedades por meio do Designer SSIS ou programaticamente.
Para obter mais informações sobre as propriedades que podem ser definidas no Designer SSIS, clique no seguinte tópico:
Para obter mais informações sobre como definir essas propriedades no Designer SSIS , clique em um dos seguintes tópicos:
Como definir as propriedades de uma restrição de precedência
Como definir o valor de uma restrição de precedência utilizando o menu de atalho
Configurando uma restrição de precedência programaticamente
Para obter mais informações sobre como definir programaticamente essas propriedades, clique no seguinte tópico:
Recursos externos
Artigo técnico, SSIS Expression Examples, em social.technet.microsoft.com
|