

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 IBM Db2 CLP 連線至 Amazon RDS for Db2 資料庫執行個體
<a name="db2-connecting-with-clp-client"></a><a name="db2-downloading-package"></a>

您可以使用命令列公用程式 (例如 IBM Db2 CLP) 來連線至 Amazon RDS for Db2 資料庫執行個體。此公用程式是 IBM Data Server Runtime Client 的一部分。若要從 IBM Fix Central 下載用戶端****，請參閱 IBM 支援中的[IBM資料伺服器用戶端套件 11.5 版 Mod 8 Fix Pack 0。](https://www.ibm.com/support/pages/node/6830885)

**Topics**
+ [術語](#db2-connecting-ibm-clp-terms)
+ [安裝用戶端](#db2-connecting-ibm-clp-install-client)
+ [連接至資料庫執行個體](#db2-connecting-ibm-clp-connect-db-instance)
+ [對您的 RDS for Db2 資料庫執行個體的連線進行故障診斷](#db2-troubleshooting-connections-clp)

## 術語
<a name="db2-connecting-ibm-clp-terms"></a>

下列術語有助於說明[連線至 RDS for Db2 資料庫執行個體](#db2-connecting-ibm-clp-connect-db-instance)時所使用的命令。

**目錄 tcpip 節點**  
此命令會向本機 Db2 用戶端註冊遠端資料庫節點，讓用戶端應用程式可存取節點。若要為節點編製目錄，請提供伺服器主機名稱、連接埠號碼和通訊協定等資訊。接著，目錄化節點代表一或多個遠端資料庫所在的目標伺服器。如需詳細資訊，請參閱 IBM Db2 文件中的 [CATALOG TCPIP/TCPIP4/TCPIP6 NODE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node)。

**目錄資料庫**  
此命令會向本機 Db2 用戶端註冊遠端資料庫，讓用戶端應用程式可存取資料庫。若要為資料庫編製目錄，您要提供如資料庫的別名、其所在的節點，以及連線到資料庫所需的身分驗證類型等資訊。如需詳細資訊，請參閱 IBM Db2 文件中的 [CATALOG DATABASE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-database)。

## 安裝用戶端
<a name="db2-connecting-ibm-clp-install-client"></a>

在 [downloading the package for Linux](#db2-downloading-package) 之後，使用根或管理員權限來安裝用戶端。

**注意**  
若要在 AIX 或 Windows 上安裝用戶端，請遵循相同的程序，但修改作業系統的命令。

**在 Linux 上安裝用戶端**

1. 執行 **`./db2_install -f sysreq`** 並選擇 **`yes`** 以接受授權。

1. 選擇要安裝用戶端的位置。

1. 執行 **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***。將 *instance\$1name* 取代為 Linux 上的有效作業系統使用者。在 Linux 中，Db2 資料庫執行個體名稱會繫結至作業系統使用者名稱。

   此命令會在 Linux 上指定使用者的主目錄中建立 **`sqllib`** 目錄。

## 連接至資料庫執行個體
<a name="db2-connecting-ibm-clp-connect-db-instance"></a>

若要連線至 RDS for Db2 資料庫執行個體，您需要其 DNS 名稱和連接埠號碼。如需尋找這些項目的相關資訊，請參閱 [尋找端點](db2-finding-instance-endpoint.md)。您也需要知道您在建立 RDS for Db2 資料庫執行個體時所定義的資料庫名稱、主要使用者名稱和主要密碼。如需尋找這些項目的詳細資訊，請參閱 [建立資料庫執行個體](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

**使用 IBM Db2 CLP 連線至 RDS for Db2 資料庫執行個體**

1. 使用您在 IBM Db2 CLP 用戶端安裝期間指定的使用者名稱進行登入。

1. 為您的 RDS for Db2 資料庫執行個體編製目錄。在下列範例中，將 *node\$1name*、*dns\$1name* 和 *port* 取代為本機目錄中節點的名稱、資料庫執行個體的 DNS 名稱，以及連接埠號碼。

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

   **範例**

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

1. 為 `rdsadmin` 資料庫和您的資料庫編製目錄。這可讓您連線至 `rdsadmin` 資料庫，以使用 Amazon RDS 預存程序執行一些管理任務。如需詳細資訊，請參閱[管理您的 RDS for Db2 資料庫執行個體](db2-administering-db-instance.md)。

   在下列範例中，將 *database\$1alias*、*node\$1name* 和 *database\$1name* 取代為此資料庫的別名、上一個步驟中所定義節點的名稱，以及資料庫名稱。`server_encrypt` 會透過網路加密您的使用者名稱和密碼。

   ```
   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
   ```

   **範例**

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

1. 連線至 RDS for Db2 資料庫。在下列範例中，將 *rds\$1database\$1alias*、*master\$1username* 和 *master\$1password* 取代為您的資料庫名稱、主要使用者名稱，以及 RDS for Db2 資料庫執行個體的主要密碼。

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

   此命令會產生類似下列範例的輸出：

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

1. 執行查詢並檢視結果。下列範例顯示選取您建立之資料庫的 SQL 陳述式。

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

   此命令會產生類似下列範例的輸出：

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

## 對您的 RDS for Db2 資料庫執行個體的連線進行故障診斷
<a name="db2-troubleshooting-connections-clp"></a>

如果您收到下列 `NULLID` 錯誤，通常表示您的用戶端和 RDS for Db2 伺服器版本不相符。如需支援的 Db2 用戶端版本，請參閱 IBM Db2 文件中[支援的用戶端、驅動程式和伺服器層級組合](https://www.ibm.com/docs/en/db2/11.5?topic=communications-supported-combinations-clients-drivers-server-levels)。

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

收到此錯誤後，您必須將舊版 Db2 用戶端的套件繫結至 RDS for Db2 所支援的 Db2 伺服器版本。

**將套件從較舊的 Db2 用戶端繫結至較新的 Db2 伺服器**

1. 在用戶端電腦上找到繫結檔案。一般而言，這些檔案位於 Db2 用戶端安裝路徑的 **bnd** 目錄中，並且具有副檔名 **.bnd**。

1. 連線至 Db2 伺服器。在下列範例中，將 *database\$1name* 取代為 Db2 資料庫的名稱。將 *master\$1username* 和 *master\$1password* 取代為您的資訊。此使用者具有 `DBADM` 授權。

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

1. 執行 `bind` 命令以繫結套件。

   1. 導覽至用戶端電腦上存在繫結檔案的目錄。

   1. 為每個檔案執行 `bind` 命令。

      下列選項是必要的：
      + `blocking all` – 在單一資料庫請求中將繫結檔案中的所有套件繫結。
      + `grant public` – 向 `public` 授予許可以執行套件。
      + `sqlerror continue` – 指定即使發生錯誤，`bind` 程序仍會繼續。

      如需 `bind` 命令的詳細資訊，請參閱 IBM Db2 文件中的 [BIND 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind)。

1. 透過查詢 `syscat.package` 目錄檢視或檢查在 `bind` 命令之後傳回的訊息，確認繫結是否成功。

如需詳細資訊，請參閱 IBM 支援中的 [DB2 v11.5 繫結檔案和套件名稱清單。](https://www.ibm.com/support/pages/node/6190455)