powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Непонятки со строкой соединения в db2_connect
12 сообщений из 12, страница 1 из 1
Непонятки со строкой соединения в db2_connect
    #36600162
Есть такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
$db = 'NSPFT';
$user = 'user';
$password = 'pass';
$hostname = 'thehost';
$port =  50004 ;
//
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF, 'DB2_ATTR_CASE' => DB2_CASE_UPPER);
$conn_string = "DRIVER=php_ibm_db2;DATABASE=$db;HOSTNAME=$hostname;PORT=$port;
    PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$pgConn = db2_connect($conn_string, '', '', $options);
if(!$pgConn){
    echo '<p>1. Ошибка соединения c СУБД DB2: '.db2_conn_errormsg().". conn string=$conn_string</p>";
    //die;
}else{
    echo "<p>1. Есть соединение с DB2. $conn_string";
}
$conn_string = "DRIVER=php_ibm_db2;DATABASE=NSPFT;HOSTNAME=thehost;PORT=50004;PROTOCOL=TCPIP;UID=user;PWD=pass;";
$pgConn = db2_connect($conn_string, '', '', $options);
if(!$pgConn){
    echo '<p>2. Ошибка соединения c СУБД DB2: '.db2_conn_errormsg().". conn string=$conn_string</p>";
    //die;
}
else{
    echo "<p>2. Есть соединение с DB2. $conn_string";
}
pgConn1 - нет соединения,
pgConn2 - есть соединение.

вывод в Мозилле:
1. Ошибка соединения c СУБД DB2: [IBM][CLI Driver] SQL1013N The database alias name or database name " " could not be found. SQLSTATE=42705 SQLCODE=-1013. conn string=DRIVER=php_ibm_db2;DATABASE=NSPFT;HOSTNAME=thehost;PORT=50004; PROTOCOL=TCPIP;UID=user;PWD=pass;

2. Есть соединение с DB2. DRIVER=php_ibm_db2;DATABASE=NSPFT;HOSTNAME=thehost;PORT=50004;PROTOCOL=TCPIP;UID=user;PWD=pass;

В чём туту дело?
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36601257
use-se
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
стоит проверить каталогизирована ли БД.

запустить утилиту db2cmd
в окне утилиты ввести
Код: plaintext
db2 list db directory
если БД есть в списке то проверить соединение
Код: plaintext
db2 connect to <db_name> user <user_name> using <user_password>
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36601705
Anka_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
use-seстоит проверить каталогизирована ли БД.

запустить утилиту db2cmd
в окне утилиты ввести
Код: plaintext
db2 list db directory
если БД есть в списке то проверить соединение
Код: plaintext
db2 connect to <db_name> user <user_name> using <user_password>

П-р-р-равильно, :) человек говорит, проверить нужно list db, но если под аккаунтом пользователя коннекта нет это ещё ни факт, что ошибка, самый точный вариант узнать у админсистратора базы данных (АБД)
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602086
Товарищи советчики, потрудитесь, пожалуйста, читать топик прежде, чем советовать. При чем здесь "если под аккаунтом пользователя коннекта нет"!!!
Для тех, кто сможет помочь, напишу другими словами. Есть соединение. Вся разница в том, что, когда в php-скрипте строка соединения формируется с переменными, соединения - нет. Когда переменные впиханы буквами в строку - соединение есть.

зы: > use-se: ради интереса проверил соедиенение с помощью db2cmd. соединение есть
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602117
askfinder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Слепов,

Вы проверяли что именно лежит в $conn_string после выполнения строки:
$conn_string = "DRIVER=php_ibm_db2;DATABASE=$db;HOSTNAME=$hostname;PORT=$port; PROTOCOL=TCPIP;UID=$user;PWD=$password;";
?
Я не большой спец в PHP, но похоже искать нужно именно тут.
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602167
askfinderАлексей Слепов,

Вы проверяли что именно лежит в $conn_string после выполнения строки:
$conn_string = "DRIVER=php_ibm_db2;DATABASE=$db;HOSTNAME=$hostname;PORT=$port; PROTOCOL=TCPIP;UID=$user;PWD=$password;";
?
Я не большой спец в PHP, но похоже искать нужно именно тут.

Йокрный бабай! Просто одно желание - написать в "задолба.ли!"
В топике ясно показано, что лежит после выполнения обоих запросов. внизу. после слов "Вывод в Мозилле".
Ну не хотите разобраться в сути проблемы - ну так не пишите! Катайте лучше перлы на баш!! >:|
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602381
Алексей Слепов,

"На глаз" отличие действительно незаметно.
Поэтому просто взял обе строки, и вставил в текстовый файл друг под другом.
Результат:
Код: plaintext
1.
2.
DRIVER=php_ibm_db2;DATABASE=NSPFT;HOSTNAME=thehost;PORT= 50004 ; PROTOCOL=TCPIP;UID=user;PWD=pass;
DRIVER=php_ibm_db2;DATABASE=NSPFT;HOSTNAME=thehost;PORT= 50004 ;PROTOCOL=TCPIP;UID=user;PWD=pass;
В первом случае между PORT=50004; и PROTOCOL=TCPIP; стоит пробел, что и приводит к ошибке.
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602641
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей СлеповВ чём туту дело?В одной строке, а не в 2-х:
Код: plaintext
1.
2.
$conn_string = "DRIVER=php_ibm_db2;DATABASE=$db;HOSTNAME=$hostname;PORT=$port;
    PROTOCOL=TCPIP;UID=$user;PWD=$password;";
У меня работает, когда в 1 строку, и то же самое, когда в 2-х как у вас.
Т.е.:
Код: plaintext
1.
$conn_string = "DRIVER=php_ibm_db2;DATABASE=$db;HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602701
> Евгений Хабаров
> Mark Barinstein
спасибо! убрал пробел, записав в одну строку, - заработало
(вопрос решен)
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #36602859
use-se
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей СлеповТоварищи советчики, потрудитесь, пожалуйста, читать топик прежде, чем советовать. При чем здесь "если под аккаунтом пользователя коннекта нет"!!!
Для тех, кто сможет помочь, напишу другими словами. Есть соединение. Вся разница в том, что, когда в php-скрипте строка соединения формируется с переменными, соединения - нет. Когда переменные впиханы буквами в строку - соединение есть.

зы: > use-se: ради интереса проверил соедиенение с помощью db2cmd. соединение есть
да тупанул я
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Непонятки со строкой соединения в db2_connect
    #37685619
Shahlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как соединить php c db2 или нужны какие та драйвера для подключение?
...
Рейтинг: 0 / 0
Непонятки со строкой соединения в db2_connect
    #37685774
Shahlo,

Вопрос поднимается не в первый раз, поэтому вот ссылки на существующие темы
Где взять рабочую версию "php_ibm_db2.dll"?
DB2 Connect 9.5 + PHP 5.2.x + Apache 2.2.x + Windows
DB2+PHP+APACHE+Windows

NTS-библиотека идет в составе клиента версии 9.5.
Более новые библиотеки (TS и NTS) выложены здесь : http://downloads.php.net/pierre/
PHP нужно настроить согласно документации : Setting up the PHP environment on Windows
Основная ссылка на документацию от IBM по PHP DB2: Introduction to PHP application development for DB2

Настоятельно рекомендую использовать доступ к базе через PDO.
Из недавних статей про PDO советую почитать вот это : Почему стоит пользоваться PDO для работы с базой данных
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Непонятки со строкой соединения в db2_connect
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]