

# Conexión a la instancia de base de datos de Amazon RDS para Db2 con IBM Db2 CLP
<a name="db2-connecting-with-clp-client"></a><a name="db2-downloading-package"></a>

Puede utilizar una utilidad de línea de comandos como IBM Db2 CLP para conectarse a instancias de base de datos de Amazon RDS para Db2. Esta utilidad forma parte de IBM Data Server Runtime Client. Para descargar el cliente** **desde 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) en el servicio de soporte de IBM. 

**Topics**
+ [Terminología](#db2-connecting-ibm-clp-terms)
+ [Instalación del cliente](#db2-connecting-ibm-clp-install-client)
+ [Conexión a una instancia de base de datos](#db2-connecting-ibm-clp-connect-db-instance)
+ [Solución de problemas de conexiones a la instancia de base de datos de RDS para Db2](#db2-troubleshooting-connections-clp)

## Terminología
<a name="db2-connecting-ibm-clp-terms"></a>

Los siguientes términos ayudan a explicar los comandos que se utilizan al [conectarse a la instancia de base de datos de RDS para Db2](#db2-connecting-ibm-clp-connect-db-instance).

**catalog tcpip node**  
Este comando registra un nodo de base de datos remoto con un cliente Db2 local, lo que hace que la aplicación cliente pueda acceder al nodo. Para catalogar un nodo, debe proporcionar información como el nombre de host del servidor, el número de puerto y el protocolo de comunicación. A partir de ahí, el nodo catalogado representa un servidor de destino en el que residen una o más bases de datos remotas. Para obtener más información, consulte [Comando CATALOG TCPIP/TCPIP4/TCPIP6 NODE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node) en la documentación de IBM Db2.

**catalog database**  
Este comando registra una base de datos remota con un cliente Db2 local, lo que hace que la aplicación cliente pueda acceder a la base de datos. Para catalogar una base de datos, debe proporcionar información como el alias de la base de datos, el nodo en el que reside y el tipo de autenticación necesario para conectarse a la base de datos. Para obtener más información, consulte [Comando CATALOG DATABASE](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-database) en la documentación de IBM Db2.

## Instalación del cliente
<a name="db2-connecting-ibm-clp-install-client"></a>

Después de [downloading the package for Linux](#db2-downloading-package), instale el cliente con privilegios de administrador o raíz.

**nota**  
Para instalar el cliente en AIX o Windows, siga el mismo procedimiento pero modifique los comandos para su sistema operativo.

**Para instalar el cliente en Linux**

1. Ejecute **`./db2_install -f sysreq`** y elija **`yes`** para aceptar la licencia.

1. Elija la ubicación para instalar el cliente.

1. Ejecute **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***. Sustituya *instance\$1name* por un usuario de sistema operativo válido en Linux. En Linux, el nombre de la instancia de base de datos de Db2 está vinculado al nombre de usuario del sistema operativo.

   Este comando crea un directorio **`sqllib`** en el directorio principal del usuario designado en Linux.

## Conexión a una instancia de base de datos
<a name="db2-connecting-ibm-clp-connect-db-instance"></a>

Para conectarse a una instancia de base de datos de RDS para Db2, necesita su nombre DNS y el número de puerto. Para obtener información sobre cómo encontrarlos, consulte [Búsqueda del punto de conexión](db2-finding-instance-endpoint.md). También debe conocer el nombre de la base de datos, el nombre de usuario maestro y la contraseña maestra que definió al crear la instancia de base de datos de RDS para Db2. Para obtener más información sobre cómo encontrarlos, consulte [Creación de una instancia de base de datos](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating).

**Para conectarse a una instancia de base de datos de RDS para Db2 con IBM Db2 CLP**

1. Inicie sesión con el nombre de usuario que especificó durante la instalación del cliente IBM Db2 CLP.

1. Catalogue su instancia de base de datos de RDS para Db2. En el siguiente ejemplo, sustituya *node\$1name*, *dns\$1name* y *port* por el nombre del nodo del catálogo local, el nombre de DNS de la instancia de base de datos y el número de puerto.

   ```
   1. db2 catalog TCPIP node node_name remote dns_name server port
   ```

   **Ejemplo**

   ```
   db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
   ```

1. Catalogación de la base de datos `rdsadmin` y su base de datos. Esto le permitirá conectarse a la base de datos `rdsadmin` para realizar algunas tareas administrativas mediante los procedimientos almacenados de Amazon RDS. Para obtener más información, consulte [Administración de la instancia de base de datos de RDS para Db2](db2-administering-db-instance.md).

   En el siguiente ejemplo, sustituya *database\$1alias*, *node\$1name* y *database\$1name* por los alias de esta base de datos, el nombre del nodo definido en el paso anterior y el nombre de la base de datos. `server_encrypt` cifra el nombre de usuario y la contraseña a través de la red.

   ```
   db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt
       
   db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt
   ```

   **Ejemplo**

   ```
   db2 catalog database rdsadmin at node remnode authentication server_encrypt
       
   db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
   ```

1. Conexión a su base de datos de RDS para Db2. En el siguiente ejemplo, sustituya *rds\$1database\$1alias*, *master\$1username* y *master\$1password* por el nombre de la base de datos, el nombre de usuario maestro y la contraseña maestra de su instancia de base de datos de RDS para Db2.

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

   El resultado de este comando debería ser similar al siguiente ejemplo:

   ```
   Database Connection Information
       
       Database server        = DB2/LINUXX8664 11.5.9.0
       SQL authorization ID   = ADMIN
       Local database alias   = TESTDB
   ```

1. Ejecución de consultas y visualización de resultados. El siguiente ejemplo muestra una instrucción SQL que selecciona la base de datos que ha creado.

   ```
   db2 "select current server from sysibm.dual"
   ```

   El resultado de este comando debería ser similar al siguiente ejemplo:

   ```
   1
       ------------------
       TESTDB
       
       1 record(s) selected.
   ```

## Solución de problemas de conexiones a la instancia de base de datos de RDS para Db2
<a name="db2-troubleshooting-connections-clp"></a>

Si recibe el siguiente error `NULLID`, eso normalmente indica que las versiones del cliente y del servidor de RDS para Db2 no coinciden. Para ver las versiones del cliente de Db2 compatibles, consulte [Combinaciones compatibles de clientes, controladores y niveles de servidor](https://www.ibm.com/docs/en/db2/11.5?topic=communications-supported-combinations-clients-drivers-server-levels) en la documentación de IBM Db2.

```
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
```

Tras recibir este error, debe vincular los paquetes de su antiguo cliente de Db2 a una versión de servidor de Db2 compatible con RDS para Db2. 

**Para vincular paquetes de un cliente de Db2 anterior a un servidor de Db2 más reciente**

1. Localice los archivos de la vinculación en la máquina cliente. Normalmente, estos archivos se encuentran en el directorio **bnd** de la ruta de instalación del cliente de Db2 y tienen la extensión **.bnd**.

1. Conexión al servidor Db2. En el ejemplo siguiente, sustituya *database\$1name* por el nombre de su servidor Db2. Sustituya *master\$1username* y *master\$1password* por su información. Este usuario tiene autoridad `DBADM`. 

   ```
   db2 connect to database_name user master_username using master_password
   ```

1. Ejecute el comando `bind` para vincular los paquetes.

   1. Navegue hasta el directorio donde se encuentran los archivos de vinculación en la máquina cliente.

   1. Ejecute el comando `bind` para cada archivo.

      Se requieren las siguientes opciones:
      + `blocking all`: vincula todos los paquetes del archivo de vinculación en una sola solicitud de base de datos. 
      + `grant public`: otorga permiso a `public` para ejecutar el paquete.
      + `sqlerror continue`: especifica que el proceso `bind` continúa incluso si se producen errores.

      Para obtener más información sobre el comando `bind`, consulte [Comando BIND](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind) en la documentación de IBM Db2.

1. Compruebe que la vinculación se ha realizado correctamente consultando la vista del catálogo `syscat.package` o comprobando el mensaje devuelto tras el comando `bind`.

Para obtener más información, consulte [DB2 v11.5 Bind File and Package Name List](https://www.ibm.com/support/pages/node/6190455) en el servicio de soporte de IBM.