DB2无法连接到服务器

时间:2013-06-13 13:25:21

标签: database db2 database-connection

我想在Windows 7机器上设置db2服务器,我无法从远程连接到数据库,只能从本地连接。我想我可能会错过一些配置。

1)我关闭了防火墙 2)我的数据库信息是:

数据库2条目:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = C:
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

netstat -a命令的部分输出是:

  TCP    [::]:49155             WIN-whatever:0      LISTENING
  TCP    [::]:49164             WIN-whatever:0      LISTENING
  TCP    [::]:49165             WIN-whatever:0      LISTENING
  TCP    [::]:50000             WIN-whatever:0      LISTENING

如果我ping我的服务器,它从客户端它没有响应 此外,如果我用nmap -sV <server_ip_address>扫描它,它不会返回我使用它的开放端口和服务

从客户端到连接,我运行以下命令:

db2 list node directory
SQL1027N  The node directory cannot be found.

catalog tcpip node <i am not sure what does here> remote <server_ip_address> server <port_number> 

no output

这意味着出了点问题。我为节点尝试了几件事,没有任何作用 我不知道发生了什么以及如何解决它。

感谢您的帮助

2 个答案:

答案 0 :(得分:12)

首先,您无法ping服务器且nmap没有看到开放端口的事实意味着您的问题,至少在此时,是在DB2之外。解决网络问题后,您可以按照以下步骤设置通过TCP / IP与DB2数据库的远程连接。

1)可选。您可以使用服务名称或端口号来配置DB2实例。如果要使用服务名称,在服务器上添加一行/etc/services,类似于db2c_db2inst1 50000/tcp,它将服务名称“db2c_db2inst1”分配给端口50000。 / p>

2)在服务器上更新DB2实例配置:db2 update dbm cfg using svcename db2c_db2inst1(如果不使用服务名称,则为db2 update dbm cfg using svcename 50000)。验证:db2 get dbm cfg | grep SVCENAME

3)在服务器上更新DB2注册表变量:db2set DB2COMM=TCPIP。验证:db2set DB2COMM

4)在服务器上重新启动实例:问题db2stop force,然后db2start

5)在远程客户端上,假设安装了DB2客户端软件,请发出db2 catalog tcpip node whatever remote <your server IP address> service <your DB2 port number>。请注意,节点名称(本例中的“任何”)限制为8个ASCII字符。

6)在远程客户端问题db2 catalog database <your database name> at node whatever上,引用您在步骤5中定义的节点名称(“what”)。

7)在远程客户端上验证连接:db2 connect to <your database name> user <user name> using <password>

答案 1 :(得分:0)

尝试在实例端口上执行telnet以检查从客户端到服务器的所有内容是否正确

telnet DB2-Server-name 50000

其中DB2-Server-name是服务器名称或IP地址。确保您可以获得服务器。 50000是最常用的DB2端口,但您必须检查配置。

连接到服务器后,可以使用上一个答案配置节点。