Windows-Server-2008

IIS 7.5 上的 php_ibm_db2.dll 使用 PHP 5.3 錯誤消息

  • November 13, 2013

我正在嘗試使用 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 Driver $$SQL30081N 檢測到通信錯誤。正在使用的通信協議:“TCP/IP”。正在使用的通信 API:“SOCKETS”。檢測到錯誤的位置:“10.10.0.120”。檢測錯誤的通信功能:“連接”。協議特定錯誤程式碼:“10061”、“ ”、“ ”。SQLSTATE=08001 SQLCODE=-30081

有人試過這個嗎??

您使用的埠號不正確 - iSeries 伺服器使用埠 446,而不是埠 50000。

但是,為了使用IBM Data Server Driver for ODBC、CLI 和 .Net來訪問您的 iSeries 伺服器,您必須擁有名為DB2 Connect的 IBM 產品的許可證。

您不需要使用 DB2 Connect,您可以使用*IBM i Access for Windows*產品,它提供了一個 ODBC 驅動程序來直接連接到您的 iSeries 伺服器。

引用自:https://serverfault.com/questions/554443