PHP iSeries IBM DB2 的 PDO Windows
PHP PDO Windows for iSeries IBM DB2
我正在尝试在 Windows 7(64 位)上建立 PDO 连接(php 5.4)以连接到 iSeries IBM AS/400.我的最终目标是使用 Yii2,它使用 PDO。
为了 PDO 驱动程序兼容性,我使用了 php5.4,因为 php5.5 无法加载 IBM_DB2 的 PDO 扩展。我最初有 IBM DB2 odbc 驱动程序 运行 PDO,使用以下连接字符串:
try {
$dbc = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};
DATABASE=MYDB;"."HOSTNAME=myhost;", "myuser", "mypassword");
} catch (PDOException $e) {
print "Error!: " . $e->getMessage(). "<br/>";
die();
}
...但是我收到来自主机的连接错误。也许那是 iSeries 的错误驱动程序?
然后我在 Windows 的 IBM i Access 安装中找到了一个 iSeries Access ODBC 驱动程序,并认为这可能是所需的驱动程序。我必须执行系统还原才能使 iSeries Access ODBC 驱动程序正常工作,但还原会卸载其他 IBM DB2 ODBC 驱动程序。 iSeries Access ODBC 驱动程序现在可以正确显示。
但是,现在无法加载 PDO 扩展。它抱怨 db2cli.dll 不见了。为了解决这个问题,它还重新安装了旧的 IBM DB2 ODBC 驱动程序连接。注意:我仍然收到错误消息。
1) IBM DB2 ODBC 驱动程序是否可以与 iSeries 一起使用,而我只是连接字符串错误?
2) 丢失的 db2cli.dll 消息是否表明 PDO 连接确实绑定到 IBM DB2 ODBC 驱动程序?我想知道 iAccess ODBC 驱动程序 can/should 是否与 PDO 扩展一起使用。
感谢任何帮助。谢谢。
两个ODBC驱动都需要,连接字符串错误。
1) 要删除 db2cli.dll 消息,必须从 IBM 下载 odbc cli 驱动程序(除了 Client Access 7.1.zip 用于 iSeries ODBC 驱动程序),以及然后必须手动更新路径以指向 db2cli.dll 文件。
2) 连接字符串如下:(包括大括号)
$dbc = new PDO("odbc:DRIVER={iSeries Access ODBC DRIVER}; ",
"SYSTEM={foobar}; ",
"DATABASE={dbname}; ",
"UID={foo}; ",
"PWD={bar}");
我正在尝试在 Windows 7(64 位)上建立 PDO 连接(php 5.4)以连接到 iSeries IBM AS/400.我的最终目标是使用 Yii2,它使用 PDO。
为了 PDO 驱动程序兼容性,我使用了 php5.4,因为 php5.5 无法加载 IBM_DB2 的 PDO 扩展。我最初有 IBM DB2 odbc 驱动程序 运行 PDO,使用以下连接字符串:
try {
$dbc = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};
DATABASE=MYDB;"."HOSTNAME=myhost;", "myuser", "mypassword");
} catch (PDOException $e) {
print "Error!: " . $e->getMessage(). "<br/>";
die();
}
...但是我收到来自主机的连接错误。也许那是 iSeries 的错误驱动程序?
然后我在 Windows 的 IBM i Access 安装中找到了一个 iSeries Access ODBC 驱动程序,并认为这可能是所需的驱动程序。我必须执行系统还原才能使 iSeries Access ODBC 驱动程序正常工作,但还原会卸载其他 IBM DB2 ODBC 驱动程序。 iSeries Access ODBC 驱动程序现在可以正确显示。
但是,现在无法加载 PDO 扩展。它抱怨 db2cli.dll 不见了。为了解决这个问题,它还重新安装了旧的 IBM DB2 ODBC 驱动程序连接。注意:我仍然收到错误消息。
1) IBM DB2 ODBC 驱动程序是否可以与 iSeries 一起使用,而我只是连接字符串错误?
2) 丢失的 db2cli.dll 消息是否表明 PDO 连接确实绑定到 IBM DB2 ODBC 驱动程序?我想知道 iAccess ODBC 驱动程序 can/should 是否与 PDO 扩展一起使用。
感谢任何帮助。谢谢。
两个ODBC驱动都需要,连接字符串错误。
1) 要删除 db2cli.dll 消息,必须从 IBM 下载 odbc cli 驱动程序(除了 Client Access 7.1.zip 用于 iSeries ODBC 驱动程序),以及然后必须手动更新路径以指向 db2cli.dll 文件。
2) 连接字符串如下:(包括大括号)
$dbc = new PDO("odbc:DRIVER={iSeries Access ODBC DRIVER}; ",
"SYSTEM={foobar}; ",
"DATABASE={dbname}; ",
"UID={foo}; ",
"PWD={bar}");