DB2客户端连接服务端的方法

时间:2021-12-10 16:14:56

 

在DB2中从客户端访问服务器端的数据库时,不能直接用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占用端口号