我有一个新的 DB2 服务器 (v10.5.0.3),我可以在本地很好地连接到数据库。
当尝试使用 JDBC 从远程服务器连接时,出现“连接被拒绝。ERRORCODE=-4499,SQLSTATE=08001”错误。根据此处找到的信息 https://www-304.ibm.com/support/docview.wss?uid=swg21403644 我已确认
[db2inst1@db2 ~]$ db2set -all
[i] DB2COMM=TCPIP
[i] DB2AUTOSTART=YES
[g] DB2SYSTEM=db2.xxxx.com
[g] DB2INSTDEF=db2inst1
[g] DB2ADMINSERVER=xxxxxx
和
[db2inst1@db2 ~]$ db2 get database manager configuration | grep -i svce
TCP/IP Service name (SVCENAME) = 50001
SSL service name (SSL_SVCENAME) =
使用这些 JDBC 连接值
driver=com.ibm.db2.jcc.DB2Driver
url=jdbc:db2://db2.xxxxx.com:50001/TESTGEN
username=XXXXXXXX
password=XXXXXXX
我已经验证两台服务器上的防火墙都打开了端口 50000 和 50001。我已经没有想法了,非常感谢任何帮助。
原文由 Mike Storey 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了同样的麻烦……它是由 IPV6 引起的……指向本地主机的 URL 连接,解析为 ::1(本地主机的 IPV6 地址)并且 DB2 服务器没有列出 IPV6 协议。
我通过修改 c:\windows\system32\driver\etc\host 文件来解决:我取消注释 127.0.0.1 locahost 行以强制 locahost 的 ipv4 解析名称…并且它的工作原理。
我希望这有帮助。 (对不起我的英语不好)