1

新工作,新部门,他们在 as/400 上做所有事情。由于我对 RPG IV 一无所知,我希望利用我的 PHP 知识对团队有所帮助。

我正在尝试让 PHP 连接到 as/400,这是我的代码:

<?php
$database = '*****';
$user = '*****';
$password = '*****';
$hostname = '*****';
$port = 446;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;HOSTNAME=$hostname;".
"PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string,'','');

if ($conn) {
echo "Connection succeeded.";
db2_close($conn);
}
else {
echo "Connection failed.<br />";
echo db2_conn_error()."<br />";
echo db2_conn_errormsg()."<br />";
}
?>

我得到的错误消息如下:

连接失败。42968 [IBM][CLI 驱动程序] SQL8002N 由于缺少 DB2 Connect 产品或无效许可证,尝试连接到主机失败。SQLSTATE=42968 SQLCODE=-8002

现在,我在笔记本电脑上运行 Apache 2.4 服务器,使用 PHP 5.5,加载的 IBM_db2 扩展是 1.9.6。该公司的笔记本电脑上安装了 IBM i Access for Windows,以及一些 IBM 开发人员软件包。我会假设我没有错过笔记本电脑上的任何其他东西......我错过了什么?

4

1 回答 1

4

DB2 for i 是一种不同于 DB2 for LUW(或 z/os)的方言。您需要使用客户端访问驱动程序而不是 IBM DB2 ODBC 驱动程序。 DRIVER={iSeries Access ODBC Driver};

于 2014-12-08T20:32:10.627 回答