0

我想在 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

这意味着有问题。我为节点尝试了几件事,但没有任何效果我不知道发生了什么以及如何修复它。

谢谢你的帮助

4

2 回答 2

14

首先,您无法 ping 服务器并且nmap看不到打开的端口这一事实意味着您的问题,至少在这一点上,在 DB2 之外。解决网络问题后,您可以按照以下过程通过 TCP/IP 设置到 DB2 数据库的远程连接。

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

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>. 请注意,节点名称(本例中为“whatever”)限制为 8 个 ASCII 字符。

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

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

于 2013-06-13T14:42:39.900 回答
0

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

telnet DB2-Server-name 50000

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

连接到服务器后,您可以使用先前的答案配置节点。

于 2013-06-13T15:09:02.083 回答