

# Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM CLPPlus
<a name="db2-connecting-with-ibm-clpplus-client"></a>

É possível usar um utilitário, como o IBM CLPPlus, para se conectar a uma instância de banco de dados do Amazon RDS para Db2. Esse utilitário faz parte do IBM Data Server Runtime Client. Para baixar o cliente** **do IBM Fix Central, consulte [IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885) no IBM Support. 

**Importante**  
Recomendamos executar o IBM CLPPlus em um sistema operacional compatível com interfaces gráficas de usuário, como macOS, Windows ou Linux com Desktop. Se estiver executando o Linux headless, use a opção **-nw** com comandos do CLPPlus.

**Topics**
+ [Instalar o cliente](#db2-connecting-ibm-clpplus-install-client)
+ [Conexão a uma instância de banco de dados](#db2-connecting-ibm-clpplus-connect-db-instance)
+ [Recuperar dados de CLOB de procedimentos armazenados do Db2](#db2-connecting-ibm-clpplus-retrieve-clob-data)

## Instalar o cliente
<a name="db2-connecting-ibm-clpplus-install-client"></a>

Depois de baixar o pacote para Linux, instale o cliente. 

**nota**  
Para instalar o cliente no AIX ou no Windows, siga o mesmo procedimento, mas modifique os comandos do sistema operacional.

**Como instalar o cliente no Linux**

1. Executar **`./db2_install`**.

1. Execute **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***. Substitua *instance\$1name* por um usuário válido do sistema operacional no Linux. Em Linux, o nome da instância de banco de dados do Db2 está vinculado ao nome de usuário do sistema operacional.

   Esse comando cria um diretório **`sqllib`** no diretório inicial do usuário designado no Linux.

## Conexão a uma instância de banco de dados
<a name="db2-connecting-ibm-clpplus-connect-db-instance"></a>

Para se conectar à instância de banco de dados do RDS para Db2, você precisa do nome do DNS e do número da porta. Para ter informações sobre como descobri-los, consulte [Encontrar o endpoint](db2-finding-instance-endpoint.md). Também é necessário saber o nome do banco de dados, o nome de usuário principal e a senha mestra que você definiu ao criar a instância de banco de dados do RDS para Db2. Para ter mais informações sobre como descobri-los, consulte [Criar uma instância de banco de dados](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Como se conectar a uma instância de banco de dados do RDS para Db2 com IBM CLPPlus**

1. Revise a sintaxe do comando. No exemplo a seguir, substitua *clientDir* pelo local em que o cliente está instalado. 

   ```
   cd clientDir/bin
       ./clpplus -h
   ```

1. Configure o servidor Db2. No exemplo a seguir, substitua *dsn\$1name*, *database\$1name*, *endpoint* e *port* pelo nome do DSN, nome do banco de dados, endpoint e porta da instância de banco de dados do RDS para Db2. Para obter mais informações, consulte [Encontrar o endpoint da instância de banco de dados do Amazon RDS para Db2](db2-finding-instance-endpoint.md).

   ```
   db2cli writecfg add -dsn dsn_name -database database_name -host endpoint -port port -parameter "Authentication=SERVER_ENCRYPT"
   ```

1. Conecte-se à instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua *master\$1username* e *dsn\$1name* pelo nome de usuário principal e pelo nome do DNS.

   ```
   ./clpplus -nw master_username@dsn_name
   ```

1. Uma janela Java Shell é aberta. Digite a senha mestra da instância de banco de dados do RDS para Db2. 
**nota**  
Se a janela Java Shell não for aberta, execute `./clpplus -nw` para usar a mesma janela da linha de comandos.

   ```
   Enter password: *********
   ```

   Uma conexão é estabelecida e produz uma saída semelhante ao seguinte exemplo:

   ```
   Database Connection Information :
   ---------------------------------
   Hostname = database-1.abcdefghij.us-east-1.rds.amazonaws.com
   Database server = DB2/LINUXX8664  SQL110590
   SQL authorization ID = admin
   Local database alias = DB2DB
   Port = 50000
   ```

1. Execute consultas e visualize os resultados. O exemplo a seguir mostra uma declaração SQL que seleciona o banco de dados que você criou. 

   ```
   SQL > select current server from sysibm.dual;
   ```

   O comando vai produzir uma saída semelhante ao seguinte exemplo:

   ```
   1
       --------------------
       DB2DB
       SQL>
   ```

## Recuperar dados de CLOB de procedimentos armazenados do Db2
<a name="db2-connecting-ibm-clpplus-retrieve-clob-data"></a>

Procedimentos armazenados como rdsadmin.db2pd\$1command exibem resultados em colunas de CLOB, que comportam até 2 GB de dados. No entanto, o CLP do Db2 limita a saída de CLOB a 8 KB (8.192 bytes), truncando quaisquer dados além desse limite. Para recuperar a saída completa, use CLPPLUS em vez disso.

1. Obter o ID da tarefa (task\$1id) 

   ```
   db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params,
   cast(task_output as varchar(500)) as task_output, CREATED_AT, LAST_UPDATED_AT from table(rdsadmin.get_task_status(null,null,null))"
   ```

1. Executar o comando CLPPLUS

   Depois de obter o task\$1id, execute o seguinte comando no prompt do Unix (substitua TASK\$1ID pelo ID numérico real da tarefa):

   ```
   $ (echo "select task_output from table(rdsadmin.get_task_status(task_id,null,null));" ; echo "disconnect;" ; echo "exit;") | clpplus -nw -silent masteruser/MasterUserPassword@hostname:port_num/rdsadmin
   ```