今天自己亲手装了IBM DB2 装好后自己的库都能建好,但是创建远程连接的时候却发现了很多问题,不知道怎么着手,网上搜了很多都没尝试成功,只是网上没说清楚,总算被弄好了。

        其实步骤很简单:

下面为您介绍的DB2客户端远程连接方法,在windows或者linux环境下都可以顺利运行,该方法供您参考,希望对您能有所帮助,
 DB2客户端远程连接假定如下:
 客户端为windowsnux/unix,客户端也已经安装了db2或者客户端
 服务器端为windowsnux/unix
 客户端ip:192.168.42.147,服务器端ip为192.168.42.102
 步骤:
 在客户端建立服务器端数据库的节点
 在客户端命令行执行
 Db2 catalog tcpip node test remote 192.168.42.102 server 50000
 注:test为在客户端定义的节点,名字可以任意
 192.168.42.102为客户端的ip
 50000为DB2使用的端口
 查找服务器端DB2使用的端口,
 如果服务器端为linux,可以访问/etcrvices文件,如果你的实例名为db2inst1,找到如下行
 db2inst1 50000/tcp
 如果服务器端为windows,查看X:\WINNT\System32\drivers\etc\services
 绑定节点和客户端的数据库
 执行下面的命令db2 catalog db coshine at node test
 注:coshine为服务器端中你想要连接的数据库名
 Test就是步骤一种定义的节点
 使绑定生效
 执行db2 terminate
 设定客户端db2codepage(代码页设置)即字符编码
 先在服务器端查询db2codepage,执行db2set –all
 DB2_EXTENDED_OPTIMIZATION=ON
 DB2_DISABLE_FLUSH_LOG=ON
 AUTOSTART=YES
 DB2_STRIPED_CONTAINERS=ON
 DB2_HASH_JOIN=Y
 DB2COMM=tcpip
 DB2CODEPAGE=819
 DB2_PARALLEL_IO=*
 可以看到服务器端的DB2CODEPAGE为819,所以客户端也必须设置为这个数字
 执行db2set db2codepage=819
 进行连接
 执行db2 connect to coshine user user_name using password

注意:这里是我失败多次的关键--> user_name是数据库的用户名  password是数据库的密码
 注释
 Db2codepage:即db2数据库的编码方式
 db2codepage=1386(简体中文)
 db2country=86(中国)
 一个数据库一旦建立,他的代码页就没有办法改,  
    
db2set   DB2CODEPAGE=1386只能改变代码页环境,不能改变数据库的代码页
     如果不能连接:检查如下是否正确
 确保可以ping通服务器端:ping 192.168.42.102
 确保服务器端的db2已经启动:db2start
 确保客户端DB2COMM设置为tcpip
 先查看db2comm设置:db2set –all
 如果没有设置这个注册表,执行db2set db2comm=tcpip
 将SVCENAME设置成/etcrvices中的端口号或者服务名了吗?
 执行db2 get dbm cfg查看,找到SVCENAME,如果当前值不是服务器端的端口号或者服务名,进行更新设置
 执行:db2 update dbm cfg SVCENAME db2inst1
 注:db2inst1为服务名,这个在/etcrvices文件中db2inst1 50000/tcp