使用pdo_ibm或ibm_db2 php扩展通过Windows机器上的php客户端连接到i5 / os上的远程DB2

时间:2013-02-01 11:46:22

标签: php pdo doctrine-orm db2 ibm-midrange

我想在我的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

2 个答案:

答案 0 :(得分:0)

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

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

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

您可以在此处找到我的项目的源代码和文档: http://gregphplab.com/serendipity/index.php?/archives/2-MacaronDB.html 您可以重复使用它,或者只是采纳这个想法。 对不起,文档暂时只有法语。

答案 1 :(得分:0)

Doctrine用于连接函数db2_connect,但i5可以使用obdc_connect进行连接。做测试并看到结果。 PECL库也可以使用db2_connect