在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