odbc_соединение с базой данных прогресса

#php #openedge

Вопрос:

Мне не помешала бы помощь в определении наилучшего способа для меня как разработчика увидеть, что вызывает ошибку, когда я пытаюсь подключиться к базе данных progress openedge. Все, что я вижу, — это сбой соединения на основе die сообщения.

Короче говоря, я просто ищу более подробное ведение журнала ошибок/обмен сообщениями с помощью функции odbc_connect.

У меня есть рабочий компьютер, на котором это работает просто отлично, поэтому я хотел бы знать на своей новой машине разработки, чего не хватает.

 $my_port = "3500";
$my_username = "my_username";
$my_password = "my_password";
$my_database = "my_db";
//0  (READ UNCOMMITTED)
//1  (READ COMMITTED)
//2  (REPEATABLE READ)
//3  (SERIALIZABLE)
$my_dil = 0;
$my_connection = odbc_connect(
"Driver={Progress OpenEdge 11.7 Driver};
                                      HOST=$progress_host;
                                      PORT=$my_port;
                                      DB=$my_database;
                                      UID=$my_username;
                                      PWD=$my_password;
                                      DIL=$my_dil", "", ""
) or die ("ERROR: Could not connect to Progress OpenEdge Database.");
 

Комментарии:

1. предположим, вы пытались function.odbc-errormsg.php ?

2. Я так и сделал, однако это не принесло никаких плодов. Это была просто пустая строка.

3. Работает ли база данных под управлением sql-брокера? Это не всегда относится к базам данных Progress OpenEdge.

Ответ №1:

Поэтому я придумал, как подключиться. Я знаю, что это не дает нам возможности обрабатывать ошибки, но это действительно позволяет нам подключаться.

Я добавил следующее в php.ini и подтвердил, что они находятся в папке ext; затем перезапустил iis.

 extension=php_pdo_odbc.dll
extension=php_ldap.dll
extension=php_odbc.dll
 

Мне нужно было установить драйверы на свой ящик для разработки. Я сделал это, переместив папку progressx86 с моего рабочего сервера.

Затем я запустил следующий файл.

C:Progressx86OpenEdgeinstallodbcsql-odbc-setup.exe

Примечание:

Возможно, были и другие шаги, которые я предпринял до этого, которые повлияли на результат, но до того, как я дал свой ответ выше, это не сработало, а после того, как я дал свой ответ выше, это сработало.