DB2 не может подключиться к серверу

Я пытаюсь настроить сервер db2 на компьютере под управлением Windows 7, и я не могу подключиться к базе данных с удаленного компьютера, только с локального компьютера. Я думаю, что я мог бы пропустить некоторые настройки.

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

С клиента, если я пингую свой сервер, он не отвечает. Также, если я сканирую его 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 ответа

Прежде всего, тот факт, что вы не можете пинговать сервер и nmap не видит открытых портов означает, что ваша проблема, по крайней мере на данный момент, лежит за пределами DB2. Как только вы исправите свои проблемы с сетью, вот процедура, которой вы можете следовать, чтобы установить удаленное соединение с базой данных DB2 через TCP / IP.

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>, Обратите внимание, что имя узла ("что угодно" в этом примере) ограничено 8 символами ASCII.

6) По вопросу удаленного клиента db2 catalog database <your database name> at node whatever, ссылаясь на имя узла ("что угодно"), которое вы определили на шаге 5.

7) На удаленном клиенте проверьте подключение: db2 connect to <your database name> user <user name> using <password>

Попробуйте сделать telnet на порту экземпляра, чтобы убедиться, что все правильно, от клиента до сервера

telnet DB2-Server-name 50000

Где DB2-Server-name - это имя сервера или IP-адрес. Убедитесь, что вы можете получить сервер. 50000 - это наиболее часто используемый порт DB2, но вы должны проверить конфигурацию.

Как только вы получите соединение с сервером, вы можете настроить узел с предыдущим ответом.

Другие вопросы по тегам