Я пытаюсь использовать расширение 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, и добавил его как расширение.
(Драйвер IBM Data Server для ODBC, CLI и .NET.msi)
Это мой результат:
08001 [IBM] [Драйвер CLI] SQL30081N Обнаружена ошибка связи. Используемый протокол связи: «TCP / IP». Используемый коммуникационный API: «РОЗЕТКИ». Местоположение, в котором была обнаружена ошибка: «10.10.0.120». Функция связи, обнаруживающая ошибку: «подключить». Код (ы) ошибок протокола: "10061", "","". SQLSTATE = 08001 SQLCODE = -30081
Кто-нибудь пробовал это раньше ??
Номер порта, который вы используете, неверен - серверы iSeries используют порт 446, а не порт 50000.
Однако для того, чтобы использовать Драйвер IBM Data Server для ODBC, CLI и .Net для доступа к серверу iSeries у вас должна быть лицензия на продукт IBM под названием DB2 Connect.
Вам не нужно использовать DB2 Connect, вы можете использовать IBM i Access для Windows product, который предоставляет драйвер ODBC для прямого подключения к серверу iSeries.