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