Banco de Dados

Utilize o nó Banco de Dados para interagir com um banco de dados na origem de dados ODBC especificada.

Propósito

Defina a natureza da interação, codificando as instruções ESQL que especificam os dados a partir da mensagem de entrada e, talvez, transforme-a de alguma forma (por exemplo, para executar um cálculo) e designe o resultado para uma tabela de banco de dados.

Você pode definir uma propriedade para controlar se a atualização do banco de dados será confirmada imediatamente ou adiada até que o fluxo de mensagens seja concluído, no momento em que a atualização for confirmada ou revertida, de acordo com o status geral de conclusão do fluxo de mensagens.

Você pode utilizar formatos especializados deste nó para:
  • Atualizar valores em uma tabela de banco de dados (o nó DataUpdate)
  • Inserir linhas em uma tabela de banco de dados (o nó DataInsert)
  • Excluir linhas de uma tabela de banco de dados (o nó DataDelete)
  • Armazenar a mensagem, ou partes dela, em um armazém (o nó Warehouse)

O nó Banco de Dados está contido no repositório Banco de Dados da paleta e é representado no ambiente de trabalho pelo seguinte ícone:

 Ícone do nó Database

Utilizando este nó em um fluxo de mensagens

Veja as amostras a seguir para consultar sobre como utilizar este nó: Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.

Considere uma situação na qual você receba um pedido para 20 monitores. Se você tiver números suficientes de monitores em seu armazém, você deseja reduzir o nível de ações em seu banco de dados de ações. Você pode utilizar o nó Banco de Dados para verificar se você possui monitores suficientes disponíveis e reduzir o valor do campo de quantidade em seu banco de dados.

Terminais e Propriedades

Quando tiver colocado uma instância do nó Banco de Dados em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades. Para exibir as propriedades do nó no diálogo Propriedades, dê um clique duplo no nó ou clique com o botão direito no nó e clique em Propriedades. (Observe que, se você der um clique duplo no nó do Banco de Dados, abrirá o arquivo ESQL associado.) Todas as propriedades obrigatórias para as quais é necessário digitar um valor (aquelas que não têm um valor padrão definido) são marcadas com um asterisco.

Os terminais do nó Banco de Dados são descritos na tabela a seguir.

Terminal Descrição
In O terminal de entrada que aceita a mensagem para processamento pelo nó.
Failure O terminal de saída para qual a mensagem de entrada será propagada caso seja detectada uma falha durante o cálculo. Se você tiver selecionado Tratar Avisos como Erros, o nó propagará a mensagem para esse terminal mesmo se o processamento for concluído com êxito.
Out O terminal de saída para o qual a mensagem transformada será roteada quando o processamento no nó estiver concluído. A mensagem transformada também poderá ser roteada para esse terminal por uma instrução PROPAGATE.
Out1 O primeiro terminal de saída alternativo para o qual a mensagem transformada pode ser roteada por uma instrução PROPAGATE.
Out2 O segundo terminal de saída alternativo para o qual a mensagem transformada pode ser roteada por uma instrução PROPAGATE.
Out3 O terceiro terminal de saída alternativo para o qual a mensagem transformada pode ser roteada por uma instrução PROPAGATE.
Out4 O quarto terminal de saída alternativo para o qual a mensagem transformada pode ser roteada por uma instrução PROPAGATE.
Nota: Para obter a sintaxe da instrução PROPAGATE, consulte Instrução PROPAGATE.

As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco caso seja necessário digitar um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens ao arquivo BAR para implementá-lo).

As propriedades Descrição do nó Banco de Dados são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Nome do Nó Não Não O tipo de nó, Database O nome do nó.
Descrição Breve Não Não   Uma breve descrição do nó.
Descrição Longa Não Não   Texto que descreve a finalidade do nó no fluxo de mensagens.

As propriedades Básicas do nó Banco de Dados são descritas na tabela a seguir.

Propriedade M C Padrão Descrição
Fonte de Dados Não Sim   O nome da origem de dados ODBC do banco de dados que contém as tabelas às quais você se refere no ESQL que está associado a este nó (identificado pela propriedade Instrução).

Este nome identifica o banco de dados apropriado conforme ele é conhecido no sistema no qual este fluxo de mensagens deve ser executado. O intermediário conecta-se às informações de ID de usuário e senha especificadas no comandomqsicreatebroker, mqsichangebroker oumqsisetdbparms.

z/OS platform Nos sistemas z/OS, o intermediário utiliza o ID da tarefa iniciada do intermediário ou o ID do usuário e senha que são especificados na JCL do comando mqsisetdbparms, BIPSDBP no conjunto de dados de customização <hlq>.SBIPPROC.

Instrução Sim Não Banco de Dados O nome do módulo no arquivo ESQL que contém as instruções para utilizar no banco de dados. Se você desejar que o nome do módulo inclua um ou mais espaços, coloque o nome entre aspas duplas.

O arquivo ESQL, que, por padrão, tem o nome <nome_fluxo_mensagem>.esql, contém ESQL para cada nó no fluxo de mensagens necessário. Cada parte do código que está relacionada a um nó específico é conhecida como um módulo. Quando você codificar instruções ESQL que interagem com tabelas, essas tabelas serão assumidas como existentes nesse banco de dados. Se não existirem, um erro do banco de dados será gerado pelo intermediário no tempo de execução.

Codifique instruções ESQL para customizar o comportamento do nó Banco de Dados em um arquivo ESQL associado ao fluxo de mensagens no qual foi incluída esta instância do nó Banco de Dados. Se ainda não existir um arquivo ESQL para este fluxo de mensagens, dê um clique duplo no nó Banco de Dados ou clique com o botão direito do mouse no nó e clique em Abrir SQL para criar e abrir um novo arquivo ESQL na visualização do editor ESQL.

Se já existir um arquivo ESQL, clique em Procurar ao lado da propriedade Instrução para exibir a caixa de diálogo Seleção de Módulo, que lista os módulos do nó Banco de Dados disponíveis que estão definidos no arquivo ESQL acessíveis por este fluxo de mensagens (os arquivos ESQL podem ser definidos em outros projetos dependentes). Selecione o módulo apropriado e clique em OK. Se não houver módulos adequados disponíveis, a lista estará vazia.

Se o módulo que você tiver especificado não existir, ele será criado e o editor o exibirá. Se o arquivo e o módulo já existir, o editor realçará o módulo correto. Se for criada uma estrutura de módulo para esse nó em um arquivo novo ou existente, ela consistirá no seguinte ESQL. O nome do módulo padrão será mostrado neste exemplo:

CREATE DATABASE MODULE <flow_name>_Database
       CREATE FUNCTION Main() RETURNS BOOLEAN
       BEGIN
               RETURN TRUE; 
       END;
END MODULE;

Se você criar seu próprio módulo ESQL, crie exatamente essa estrutura. Você pode atualizar o nome padrão, mas assegure-se de que o nome que você especifica corresponde ao nome da propriedade de nó correspondente Instrução.

Para customizar esse nó, inclua seu próprio ESQL após a instrução BEGIN e antes da instrução RETURN TRUE. Você pode utilizar todas as instruções ESQL, incluindo SET, WHILE, DECLARE e IF neste módulo, mas (ao contrário do nó Compute) o nó Banco de Dados propaga a mensagem inalterada que ele recebe como seu terminal de entrada para seu terminal de saída. Portanto, assim como o nó Filter, você tem apenas uma mensagem para consultar em um nó Banco de Dados.

Transação Sim Não Automático O modo de transação para o nó. Os valores são:
  • Automático (o padrão). O fluxo de mensagens, do qual o nó Banco de Dados faz parte, será confirmado se for bem-sucedido; ou seja, as ações definidas no módulo ESQL são desempenhadas e a mensagem continua no fluxo de mensagens. Se o fluxo de mensagens falhar, ele será revertido. Se você selecionar Automático, a capacidade para confirmar ou recuperar a ação do nó Banco de Dados no banco de dados dependerá do êxito ou falha de todo o fluxo de mensagens.
  • Consolidar. Para confirmar qualquer ação não confirmada executada nesse fluxo de mensagens no banco de dados conectado a esse nó, independentemente do êxito ou da falha do fluxo de mensagens como um todo, selecione Confirmar (Commit). As alterações no banco de dados serão consolidadas mesmo que o próprio fluxo de mensagens falhe.
Tratar Avisos como Erros Sim Não Não Selecionada Para mensagens de aviso do banco de dados a serem tratadas como erros, e para o nó propagar a mensagem de saída para o terminal Failure, selecione Tratar Avisos como Erros. A caixa de opções fica desmarcada inicialmente.

Quando você selecionar a caixa de opções, o nó tratará todos os códigos de retorno positivos do banco de dados como erros e gerará exceções da mesma forma que faria para os erros negativos ou mais graves. Se você não selecionar a caixa de opções, o nó tratará avisos como códigos de retorno normais e não gerará nenhuma exceção. O aviso mais significativo surgido é não localizado, que pode ser manipulado com segurança como um código de retorno típico na maioria das circunstâncias.

Emitir Exceção em Erro do Banco de Dados Sim Não Selecionada Para fazer com que o intermediário gere uma exceção quando um erro do banco de dados for detectado, selecione Emitir Exceção em Erro do Banco de Dados (Throw Exception on Database Error). A caixa de opções é selecionada inicialmente.

Se você desmarcar a caixa de opções, inclua o ESQL para verificar algum erro do banco de dados que poderá ser retornado após cada chamada do banco de dados feita (você pode utilizar SQLCODE e SQLSTATE para fazer isso). Se um erro ocorreu, você deverá manipular o erro no fluxo de mensagens para assegurar a integridade do intermediário e do banco de dados; o erro será ignorado se você não manipulá-lo através de seu próprio processamento porque você escolheu não utilizar a manipulação de erros padrão pelo intermediário. Por exemplo, você pode incluir a instrução ESQL THROW para emitir uma exceção neste nó, ou pode utilizar o nó Throw para gerar sua própria exceção posteriormente.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:42

ac04670_