Conectar-se à instância de banco de dados do Amazon RDS para Db2 com o IBM CLPPlus
É 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
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.
Tópicos
Instalar o cliente
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
-
Executar
./db2_install. -
Execute
clientInstallDir/instance/db2icrt -s clientinstance_name. Substituainstance_namepor 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
sqllibno diretório inicial do usuário designado no Linux.
Conexão a uma instância de banco de dados
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. 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.
Como se conectar a uma instância de banco de dados do RDS para Db2 com IBM CLPPlus
-
Revise a sintaxe do comando. No exemplo a seguir, substitua
clientDirpelo local em que o cliente está instalado.cdclientDir/bin ./clpplus -h -
Configure o servidor Db2. No exemplo a seguir, substitua
dsn_name,database_name,endpointeportpelo 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.db2cli writecfg add -dsndsn_name-databasedatabase_name-hostendpoint-portport-parameter "Authentication=SERVER_ENCRYPT" -
Conecte-se à instância de banco de dados do RDS para Db2. No exemplo a seguir, substitua
master_usernameedsn_namepelo nome de usuário principal e pelo nome do DNS../clpplus -nwmaster_username@dsn_name -
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 -nwpara 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 -
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
Procedimentos armazenados como rdsadmin.db2pd_command 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.
-
Obter o ID da tarefa (task_id)
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))" -
Executar o comando CLPPLUS
Depois de obter o task_id, execute o seguinte comando no prompt do Unix (substitua TASK_ID 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 -silentmasteruser/MasterUserPassword@hostname:port_num/rdsadmin