Я не могу подключить свое приложение db2 к моей базе данных localhost.db2 не прослушивает соединение TCPIP на localhost
API-интерфейс db2, используемый приложением, требует TCPIP и пытается подключиться к хосту «localhost» и порту «50001».
Ошибка у меня есть.
SQL30081N A communication error has been detected.
Communication protocol being used:
"TCP/IP". Communication API being used: "SOCKETS". Location where
the error was detected: "127.0.0.1". Communication function detecting
the error: "connect". Protocol speci fic error code(s): "111", "*"
, "*". SQLSTATE=08001
мне пришлось настроить все ниже вручную, так как у меня не было его на моей машине
Я имел взгляд с wireshark
, чтобы посмотреть, что происходит, но я могу видеть, что сообщение сбрасывается .. плюс использование telnet the communication is not established and
netstat
не прослушивает этот порт.
Должен ли я выполнять дополнительную команду, чтобы начать прослушивание?
Ниже всех моих настроек.
db2 "get database manager configuration" | grep SVC
TCP/IP Service name (SVCENAME) = db2c_db2inst1
SSL service name (SSL_SVCENAME) =
Тогда услуги
cat /etc/services | grep db2c_
db2c_db2inst1 50001/tcp # DB2 connection service port
Я также разрешить брандмауэр на этом порту.
iptables -I INPUT -p tcp --dport 50001 -j ACCEPT
/sbin/service iptables save
iptables -list
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:db2c_db2inst1
выпуск 'db2set -all', чтобы убедиться, что это имеет значение:' DB2COMM = TCPIP'. И убедитесь, что вы выполнили 'db2stop' и' db2start' после изменения каких-либо параметров связи. – mustaccio
HI. Я попробовал db2set -all, и я не вижу эту строку. Я вижу следующее i] DB2AUTOSTART = NO [g] DB2SYSTEM = имя моего хоста [g] DB2INSTDEF = db2inst1 [g] DB2ADMINSERVER = dasusr1 Что это значит? –
Это означает, что DB2 не знает, что он должен запустить процесс диспетчера связи TCP. Используйте 'db2set DB2COMM = TCPIP', чтобы установить переменную, а затем отскочить экземпляр. – mustaccio