在DB2客戶機上連接遠程DB2服務之前,必須正確設置服務端通信協議。DB2支持的協議有TCP/IP、NetBIOS、NPIPE等。
連接遠程DB2數據庫服務的基本步驟如下:
1. 在客戶機上對遠程DB2節點進行編目。
2. 在客戶機上對遠程數據庫進行編目。
一、第一步
首先在客戶機上對遠程節點進行編目,這裏需要確認遠程主機在客戶機上的名稱、IP地址、端口號等基本命令如下:
1. CATALOG TCPIP //編目一個TCP/IP節點
NODE local_node_name //遠程主機在客戶機上的別名
REMOTE hostname | IP //遠程主機IP地址
SERVER service_name | posr_number // 服務名稱 / 端口號
例如:catalog tcpip node testnode remote xxx.xxx.xxx.xxx server 50000
2. TERMINATE //刷新目錄高速緩存
3. LIST NODE DIRECTORY //查看客戶機目錄節點
4. UNCATALOG NODE node_name //刪除編目節點node_name
二、第二步
再對已編目的節點進行數據庫編目,這裏用戶需要確認遠程連接的數據庫的名稱、該數據庫在本機上的別名、第一步設置的遠程主機在客戶機上的別名(即節點名)和設置認證方式。命令如下:
1. CATALOG DATABASE remote_db_name //遠程數據庫名稱
AS local_db_name //本地數據庫別名
AT NODE local_node_name //本地數據庫節點別名(第一步中配置)
例如:catalog database targetdb as testdb at node testnode
2. TERMINATE //刷新目錄高速緩存
3. LIST DB DIRECTORY //查看本地數據庫目錄
4. UNCATALOG DB db_name //刪除數據庫編目db_name
三、第三步
連接遠程數據庫,使用第二步中設置的本地數據庫別名來連接。命令如下:
CONNECT TO local_db_name //利用本地數據庫別名連接遠程數據庫
USER userid //用戶ID
USING password //登陸密碼
例如:connect to targetdb user db2admin using db2admin
客戶端配置
db2 catalog
--註冊節點
catalog tcpip node testnode remote xxx.xxx.xxx.xxx server 50000
--註冊數據庫
catalog database fsw as testdb at node testnode
--刪除註冊節點
uncatalog node testnode
--刪除註冊數據庫
uncatalog database testdb
--客戶端用戶連接
connect to testdb user db2admin using db2admin
如果報下面的錯誤
SQL0332N 沒有從源代碼頁“819”至目標代碼頁“1386”的轉換,原因碼是“1”
SQLSTATE=57017
執行下面的語句可以解決
db2 set DB2CODEPAGE=819
db2 terminate
db2 connect to testdb user db2inst1 using db2