> For the complete documentation index, see [llms.txt](https://help.hyperflow.global/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.hyperflow.global/docs/builder-hyperflow/gerenciamento-de-aplicativos/fluxos/integracao/ibm-db2.md).

# IBM DB2

O módulo **IBM DB2** executa uma consulta SQL diretamente em um banco de dados IBM DB2 da sua empresa, sem sair do fluxo. É útil para buscar ou atualizar informações em sistemas próprios que usam DB2 durante o atendimento.

{% hint style="info" %}
Para SQL Server, MySQL ou PostgreSQL, use o módulo **Consulta em Banco de Dados**. Para Oracle, use o módulo **Oracle DB**. Para Firebird, use o módulo **Firebird**.
{% endhint %}

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2FQZ35NNaIxtIEvn2H8wBw%2F01-visao-geral-canvas.png?alt=media&amp;token=f0d2132b-e081-4b14-ad2b-fc93df007aa4" alt=""><figcaption><p>Imagem 1 - Visão geral do módulo IBM DB2 na área de trabalho do fluxo no Hyperflow Integrações.</p></figcaption></figure>

***

### 🧭 Como acessar

1. No menu lateral, clique em **Gerenciamento de aplicativos**.
2. Em seguida, clique em **Fluxos**.
3. Abra ou crie um fluxo e acesse a área de trabalho do fluxo.
4. No painel de módulos, localize a categoria **Integração** (identificada pela cor azul).
5. Arraste o módulo **IBM DB2** para a área de trabalho do fluxo.

{% hint style="warning" %}
**Antes de usar este módulo:** você precisa ter em mãos os dados de acesso ao banco de dados (endereço, porta, usuário, senha e nome do banco) — os dados de conexão são preenchidos direto no módulo.
{% endhint %}

***

### 🔍 Conhecendo o módulo

Ao clicar duas vezes no módulo na área de trabalho do fluxo, um painel de configuração é aberto na lateral da tela.

***

#### 🔌 Conexão

| Campo              | O que preencher                        |
| ------------------ | -------------------------------------- |
| **Usuário**        | Usuário de acesso ao banco             |
| **Senha**          | Senha de acesso ao banco               |
| **Host**           | Endereço do servidor do banco de dados |
| **Porta**          | Porta de conexão do banco de dados     |
| **Banco de dados** | Nome do banco de dados a ser acessado  |

{% hint style="warning" %}
Evite digitar a senha do banco diretamente neste campo. Sempre que possível, cadastre-a como uma **variável de ambiente marcada como secreta** e use a variável aqui — assim ela não fica visível no histórico de execução do fluxo.
{% endhint %}

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2FYoCczazKQg1Kj60TIMf2%2F02-campos-conexao.png?alt=media&amp;token=6ade5e17-a09d-441d-9739-9f2817ce5307" alt=""><figcaption><p>Imagem 2 - Campos de conexão preenchidos com Usuário, Senha, Host, Porta e Banco de dados.</p></figcaption></figure>

***

#### 📝 Consulta SQL

No campo de consulta, escreva o comando SQL a ser executado. Você pode usar variáveis do fluxo dentro da consulta.

Exemplo:

```sql
SELECT * FROM CLIENTES WHERE TELEFONE = '{{input.phone}}'
```

{% hint style="danger" %}
**Nunca insira um texto digitado pelo cliente diretamente dentro da consulta SQL sem validação.** Isso pode permitir que alguém manipule a consulta para ler, alterar ou apagar dados que não deveriam ser acessados. Sempre que possível, valide ou trate o valor da variável antes de usá-lo na consulta.
{% endhint %}

***

#### ⚙️ Opções avançadas

Campo opcional em formato JSON, usado para configurações adicionais da consulta. Deixe em branco se não precisar de nenhuma configuração especial.

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2F7W4hJUUyztxTQZxpSj6l%2F03-opcoes-avancadas.png?alt=media&amp;token=3fe7151e-3830-457e-b66a-83920543862d" alt=""><figcaption><p>Imagem 3 - Campo Opções avançadas vazio, indicando formato JSON.</p></figcaption></figure>

***

#### 🔀 Saídas do módulo

O módulo tem duas saídas:

* **Sucesso** — a consulta foi executada, com o resultado (uma lista de registros) disponível para os próximos módulos do fluxo.
* **Erro** — não foi possível executar a consulta (por exemplo, credenciais inválidas, erro de conexão ou erro de sintaxe na consulta).

<figure><img src="https://3829578295-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRWteFkm020DS5IbXoSgj%2Fuploads%2F2G81NIOW6sm9L6QP9cmP%2F04-saidas-disponiveis.png?alt=media&amp;token=a10f595c-ed11-42a0-9625-3de8873cd236" alt=""><figcaption><p>Imagem 4 - Módulo na área de trabalho do fluxo mostrando as saídas Sucesso e Erro.</p></figcaption></figure>

***

### 💡 Caso de uso

**Cenário:** uma empresa quer consultar o status de um pedido, armazenado em um banco de dados IBM DB2 próprio, para informar o cliente durante o atendimento.

**Configuração:**

1. Adicione o módulo **IBM DB2** ao fluxo.
2. Preencha os dados de conexão com o banco de dados da empresa.
3. Na consulta SQL, escreva: `SELECT STATUS FROM PEDIDOS WHERE CODIGO = '{{input.codigoPedido}}'`.
4. Conecte a saída **Sucesso** a um módulo que use o resultado na conversa com o cliente.

**Resultado:** o fluxo consulta automaticamente o status do pedido informado pelo cliente e pode usar essa informação na resposta.

***

### 📌 Dicas úteis

* Sempre teste a consulta com dados reais antes de publicar o fluxo em produção.
* Evite consultas que possam alterar ou apagar muitos registros de uma vez sem uma condição bem definida.
* Sempre conecte a saída **Erro** a algum tratamento, já que operações de banco de dados podem falhar por diversos motivos.
* Guarde os dados de conexão (usuário e senha) em variáveis de ambiente sempre que possível, em vez de digitá-los diretamente no módulo.

***

### 📝 Resumo

* O módulo **IBM DB2** executa uma consulta SQL em um banco de dados IBM DB2.
* Os dados de conexão são preenchidos diretamente no módulo, sem credencial centralizada.
* Nunca insira texto do cliente diretamente na consulta sem validação, para evitar manipulação indevida do banco de dados.
* O módulo tem uma saída de **Sucesso**, com o resultado disponível para o fluxo, e uma saída de **Erro**.
