database connection failed errorcode=-4499 sqlstate=08001
转自 http://www.db2china.net/home/space.php?uid=26652&do=blog&id=10016$ tail -4 /etc/services
DB2_db2inst1 60000/tcp
DB2_db2inst1_160001/tcp
DB2_db2inst1_260002/tcp
DB2_db2inst1_END 60003/tcp
jdbc:db2://localhost:60000/test
The DB2 instance is listening on Port 50000 by default
Solution
配置DB2服务器的TCP/IP通信
客户端想要访问DB2数据库服务器,必须先配置DB2服务器上的通信协议。
在配置DB2实例的TCP/IP通信前,先检查:
1.DB2服务器正在使用TCP/IP,则DB2客户机也必须正在使用TCP/IP才能建立连接
2.标识"连接服务名称"和"连接端口",或仅标识"连接端口"
连接服务名称和连接端口
服务名称用于更新服务器上的数据库管理器配置文件中"服务名称(svcename)"参数。
当指定"连接服务名称"时,必须以相同的"服务名称"、端口号和协议更新services文件,services文件包含在服务器上定义的服务及端口号。
"服务名称"是任意的,但是在services文件内必须是唯一的
"连接端口"在services文件中必须是唯一的。
端口号和协议的样本值可以是50000/tcp
连接端口
可以选择不使用"连接服务名称"而只使用"连接端口"更新服务器上的数据库管理器配置文件中"服务名称(svcename)"参数。
这时就不会用到services文件,自然也不必更新services文件
配置步骤:
1.在服务器上更新services文件
TCP/IP services文件指定服务器应用程序监听客户机请求的端口。
如果在DBM配置文件的svcename字段中指定了服务名称,那么必须在services文件中添加服务名称与端口号/协议的映射关系;
如果在DBM配置文件的svcename字段中指定的不是服务名称而是端口号,则不需要更新services文件
例:
db2c_db2inst1 50000/tcp #DB2连接服务端口
注:db2c_db2inst1是连接服务名称
50000表示连接端口号,可根据需要更改
tcp是使用的通信协议
2.在服务器上更新数据库管理器配置文件
更新数据库管理器配置文件需要具有SYSADM权限的用户登录系统
db2 update database manager configuration using svcename
注:service_name是services文件中定义的服务名称
port_number是service_name相应端口号
重启实例后修改生效
3.设置DB2服务器的通信协议
为DB2实例设置通信协议是为DB2实例配置TCP/IP或SSL通信
DB2COMM注册表变量允许设置当前DB2实例的通信协议。
如果DB2COMM变量未定义或设置为空,那么启动数据库管理器时不会启动任何协议连接管理器。
db2set DB2COMM=TCPIP
4.查看服务器通信端口状态
#netstat -an|grep 50000
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN
页:
[1]