Utilize o nó Banco de Dados para interagir com um banco de dados na origem de dados ODBC especificada.
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.
O nó Banco de Dados está contido no repositório Banco de Dados da paleta e é representado no ambiente de trabalho pelo seguinte ícone:
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.
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. |
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.
|
|
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:
|
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. |