PDO连接到ODBC iseries无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PDO连接到ODBC iseries无法正常工作相关的知识,希望对你有一定的参考价值。

我正在尝试将我的odbc_connect转换为PDO连接并且我一直收到错误。在它出现驱动程序错误之前,我修复了我的php.ini文件以使用odbc PDO。

以下是我现在成功连接的内容:

//Establish DB2 Connection  
$DB2Conn = odbc_connect("webConn","testuser", "test");

我正在尝试下面的PDO,但它说的是PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08S01] SQLDriverConnect: 11001 [IBM][System i Access ODBC Driver]Communication link failure. comm rc=11001 - CWBCO1004 - Remote address could not be resolved' in

连接测试:

//PDO COnnections
$DB2conn = new PDO("odbc:DRIVER={iSeries Access ODBC Driver};SYSTEM=webconn;", $username, $password);

无论如何,我是DB2连接的新手,我从来没有使用PDO。文档有点帮助,但我现在卡住了。

答案

根据PHP docsodbc_connect使用以下参数连接到数据源:

resource odbc_connect(string $ dsn,string $ user,string $ password [,int $ cursor_type])

由于您未在odbc_connect()中指定Driver,因此您使用的是DSN(即数据源名称)。因此,调整PDO以连接到同一个DSN,webConn:

$DB2Conn  = new PDO("odbc:DSN=webConn;", $username, $password);

以上是关于PDO连接到ODBC iseries无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 PDO 连接到 AWS RDS

无法打开 Access ODBC 连接

如何在 php docker 容器上安装/启用 pdo-odbc 驱动程序?

PDO 找不到 ODBC 驱动程序

在 PHP 中通过 ODBC(使用 PDO)查询雪花返回不正确的数据

无法在 linux 机器上通过 ODBC 连接到 informix