在DB2中從Client Access Server端的資料庫時,不能直接用connect命令,而必須先建立通訊node,再在node的基礎上建立資料庫連接。在命令列的具體操作如下:
->db2 catalog tcpip node ABC remote serverName server 50000
->db2 catalog db databaseName at node ABC
->db2 connect to databaseName user Uid using Pwd
說明:
catalog tcpip node ABC 中的ABC是由你任意起的一個結點名,結點名不能跟已有的結點名重複
catalog db databaseName at node ABC 中的ABC指的是你在前面起的那個結點名
serverName 伺服器名稱(遠端資料庫)
databaseName 資料庫名稱
Uid 使用者名稱
Pwd 密碼
另外,如果用戶端已經跟同一個伺服器建立了node,那麼如果你想串連該伺服器上的另一個資料庫時,不需要再另建node,直接用同一個node即可。另外,建立node時伺服器名稱後的連接埠不一定是50000,要看DB工程師當時的設定。
相關指令:
db2 list db directory 列出可訪問的db
db2 list node directory 列出可訪問的結點
其他一些重要的DB2命令
1. 查看本地節點目錄
命令視窗中輸入:db2 list node directory
2. 編目一個TCP/IP節點
命令視窗:db2 catalog tcpip node <node_name> remote <hostname|ip_address> server <svcname|port_number> ostype <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>
3. 取消節點編目
db2 uncatalog node <node_name>
4. 查看系統資料庫目錄
db2 list database directory
5. 查看本機資料庫目錄
db2 list database directory on <盤符>
在本機資料庫目錄中有而系統資料庫目錄中沒有的資料庫不能訪問,可以在控制中心中選中<資料庫>按右鍵選擇添加,然後輸入需要添加的資料庫名稱或者點擊重新整理按鈕選擇資料庫,加入資料庫後即可以訪問。
6. 編目資料庫
db2 catalog database <db_name> as <db_alias> at node <node_name>
7. 取消資料庫編目
db2 uncatalog database <db_name>
8. 測試遠端資料庫的串連
db2 connect to <db_alias> user <user_id> using <password
Windows下DB2連接埠查看/修改/分配
1. 連接埠查看
1. 在DB2命令列中, 運行: DB2 GET DBM CFG |FIND "SVCENAME", 將會獲得如下輸出:
TCP/IP Service name (SVCENAME) = db2c_DB2
2. 開啟c:/windows/system32/drivers/etc/services, 查看1中找到的服務名稱對應的連接埠號碼, 如:
db2c_DB2 50000/tcp 2. 連接埠修改
直接修改ttc/Services中的對應連接埠. 然後db2stop, db2start即可.
可通過telnet ip:port 檢查是否已啟動. 3. 為建立的Instance分配連接埠
1. 增加Service: 編輯etc/services檔案, 增加Service名稱及連接埠, 如增加:
db2c_MYINST 50006/tcp
2. 分配連接埠:
db2 UPDATE DBM CFG USING SVCENAME db2c_MYINST
Linux/unix 下DB2連接埠查看
db2 get dbm cfg | grep -i service
通過上一句命令的輸出(如db2c_db2inst1)在/etc/services檔案中找對應的連接埠號碼 grep db2c_db2inst1 /etc/services
這是你將會看到這麼一行從上一句的輸出 db2c_db2inst1 50000/tcp
其中50000就是db2佔用連接埠號碼