使用 pdo_ibm 或 ibm_db2 php 扩展通过 Windows 机器上的 php 客户机连接到 i5/OS


Connecting to remote DB2 on i5/os through a php client on a windows machine using pdo_ibm or ibm_db2 php extensions

我想在我的php应用程序中使用Doctrine2 ORM。

对于 DB2,Doctrine2 仅支持 pdo_ibm 和ibm_db2驱动程序。

我安装了 DB2 的本地实例(DB2 Express-C)并成功地与pdo_ibm和ibm_db2连接,甚至使用本地 db2 实例,我的 doctrine2 安装工作正常且功能正常,

但我的真正目标是连接到在 i5/OS 上运行的远程 DB2 实例。与此(远程)DB2 的远程连接仅使用 odbc 和 PDO_ODBC 工作,但失败并出现pdo_ibm和ibm_db2,从而导致以下错误:

无法连接 SQLSTATE=42968, SQLDriverConnect: -1598 [IBM][CLI 驱动程序] SQL1598N 尝试连接到数据库服务器失败 因为许可问题。SQLSTATE=42968

我不使用Doctrine,我使用自己的包装器交换我选择的数据库:

在 Zend Server for Windows 上:我可以将 IBM DB2 for Windows 与 PDO 和扩展ibm_db2一起使用,或者我可以将 IBM DB2 for i5 与 PDO 和"System i ODBC Driver"(随"System i Navigator"软件一起提供)一起使用。

在 Zend Server for IBM i 上:我交换了"ibm_db2"连接器(和db2_connect)。

你可以在这里找到我的项目的源代码和文档:http://gregphplab.com/serendipity/index.php?/archives/2-MacaronDB.html您可以重复使用它,或者只是接受这个想法。抱歉,文档目前只有法语版本。

用于

连接函数db2_connect的学说,但对于i5可以使用obdc_connect连接。进行测试并查看结果。 db2_connect也可用于 PECL 库