从 Ubuntu 使用 DB2 连接到远程数据库

从 Ubuntu 使用 DB2 连接到远程数据库

我正在尝试设置一个 Ubuntu VM 作为 php 测试开发服务器。

但是,我无法使用 db2 连接到我们的远程数据库。

我是 Ubuntu/配置 db2 的新手,一直遵循本指南(第一条评论):

https://www.php.net/manual/en/ibm-db2.installation.php

我可以db2_connect()在 php 中运行该函数,但是我收到以下响应:

ERROR: [IBM][CLI Driver] 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 specific error code(s): "111", "*", "*". SQLSTATE=08001 SQLCODE=-30081

我已经搜索了错误代码,并111代表,Access denied但我不能确信驱动程序甚至与数据库通信,因为我可以输入任何随机组合的 IP 地址/主机名,但仍然会收到相同的错误。

从我的 Ubuntu VM 上,我可以 ping 通数据库,并且防火墙已设置为允许从 Ubuntu VM 到数据库的所有连接,反之亦然 - 另一个原因是我不相信 Ubuntu VM 甚至与数据库进行通信

我已经尽我所能配置了db2cli.inidb2dsdriver.ini,并很乐意根据要求发布这些文件以供进一步检查,但目前我想让帖子简短而切中要点。

我正在运行Ubuntu 22.04.2 LTS,运行PHP8.2并安装DB2 v11.5.8 Data Server Driver Package

一些正确的故障排除提示/指针将会非常有帮助。

我之前一直遵循这个指南: https://fractio.nl/2007/10/26/setting-up-unixodbc-with-a-remote-db2/

但在收到随机错误后,is the driver working?我尽力将其删除,然后重试php.net链接

相关内容