Ao criar um fluxo de mensagens que interage com os bancos de dados, você pode escolher se as atualizações feitas serão consolidadas quando o nó atual tiver concluído o processamento ou quando a invocação atual do fluxo de mensagens tiver terminado.
As informações deste tópico não se aplicam ao nó DatabaseInput. Para obter informações adicionais sobre o nó DatabaseInput, consulte Integração de Banco de Dados Baseada em Eventos.
Para cada nó, selecione a opção apropriada para a propriedade Transação para especificar quando suas atualizações de banco de dados devem ser consolidadas:
O valor escolhido é implementado para as tabelas do banco de dados que você atualizou. Você não pode selecionar um valor diferente para cada tabela.
Se você definiu Transação como Consolidar, o comportamento do fluxo de mensagens e da consolidação de atualizações do banco de dados pode ser afetado pelo uso da instrução PROPAGATE no ESQL do nó.
Se você optar por incluir uma instrução PROPAGATE que gere uma ou mais mensagens de saída do nó, o processamento da instrução PROPAGATE não é considerado concluído até que o caminho inteiro que a mensagem de saída percorre esteja concluído. Esse caminho pode incluir vários outros nós, incluindo um ou mais nós de saída. Apenas o nó que emite a instrução PROPAGATE recebe o controle de volta e seu ESQL termina. Nesse ponto, uma consolidação de banco de dados é executada, se apropriado.
Se um dos nós no caminho propagado detectar um erro e emitir uma exceção, o processamento do nó no qual você codificou a instrução PROPAGATE nunca será concluído. Se o processamento de erro resultar em um retrocesso, o fluxo de mensagens e a atualização de banco de dados neste nó serão retrocedidos. Esse comportamento é consistente com a operação indicada da opção Consolidar, mas pode não ser o comportamento que você espera.