IIS 7.5 上使用 PHP 5.3 时出现 php_ibm_db2.dll 错误消息

IIS 7.5 上使用 PHP 5.3 时出现 php_ibm_db2.dll 错误消息

我正在尝试使用 ibm_db2 扩展来访问 iSeries DB2 数据库。

这是测试代码(取自这里

<?php
$database = 'ALI452BFAL'; //library
$user = 'STN452';
$password = '**********';
$hostname = 'myserverip';
$port = 50000;

$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) {
    print "ok";
    db2_close($conn);
}
else {
    echo db2_conn_error() . '<br>' . db2_conn_errormsg();
}
?>

我已经安装了一个包含 db2 驱动程序的非常基本的包,并将其添加为扩展。
(用于 ODBC、CLI 和 .NET.msi 的 IBM 数据服务器驱动程序)

这是我的结果:

08001 [IBM][CLI 驱动程序] SQL30081N 检测到通信错误。正在使用的通信协议:“TCP/IP”。正在使用的通信 API:“SOCKETS”。检测到错误的位置:“10.10.0.120”。检测到错误的通信功能:“connect”。协议特定的错误代码:“10061”,““,”“。SQLSTATE=08001 SQLCODE=-30081

有人尝试过这个吗?

答案1

您使用的端口号不正确 – iSeries 服务器使用端口 446,而不是端口 50000。

然而,为了使用适用于 ODBC、CLI 和 .Net 的 IBM 数据服务器驱动程序要访问您的 iSeries 服务器,您必须拥有 IBM 产品的许可证,该产品名为DB2 连接

您不需要使用 DB2 Connect,可以使用适用于 Windows 的 IBM i Access产品,它提供了 ODBC 驱动程序以直接连接到您的 iSeries 服务器。

相关内容