#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
Примечание:
Возможно, были и другие шаги, которые я предпринял до этого, которые повлияли на результат, но до того, как я дал свой ответ выше, это не сработало, а после того, как я дал свой ответ выше, это сработало.