Я пытаюсь подключиться к базе данных PervasiveSQL (на удаленном компьютере) через PHP 7, работающий в Ubuntu 14.
У меня есть такая строка, которая дает мне ошибку Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect.
$connect = odbc_connect("Driver = {Pervasive ODBC Engine Interface};ServerName=SERVER_IP_ADDRESS;ServerDSN=DATABASE_NAME;", "USERNAME", "PASSWORD", SQL_CUR_USE_ODBC);
Я пробовал следовать руководству это (последний ответ Яри Каллонена). Однако у меня это не работает. Я не уверен, понимаю ли я концепцию DSN - это должно быть имя базы данных, к которому я пытаюсь запросить?
Я использую 64-битный PHP и PSQL 13. Можно ли просто не предоставлять ServerDSN в строку odbc_connect? Я пробовал, но получаю ту же ошибку.
Попробуйте использовать «Pervasive ODBC Interface» вместо «Pervasive ODBC Engine Interface». Меняет ли ошибка?
К сожалению, я все еще получаю ту же ошибку. Я также пробовал с «Pervasive ODBC Client Interface».
Хорошо, давайте отступим. Вы используете PSQL v13, Ubuntu 14 и PHP 7. Какую точную версию / продукт вы установили на машине Ubuntu? Что показывает «php -v» на машине с Ubuntu?
php -v возвращает PHP 5.6.30 (cli). Но я тестирую через веб-сервер Apache, на котором работает PHP Version 7.1.8-2+ubuntu14.04.1+deb.sury.org+4.
Позвольте нам продолжить обсуждение в чате.
Я действительно хотел бы найти учебник (видео или статью), где кто-то успешно настраивает клиент в Linux. Для меня это очень важно, но Я не могу понять это и тут никакой помощи.






DSN - это «имя» для набора данных, чтобы приложения могли подключаться к ним, вместо того, чтобы запоминать все детали подключения. DSN указывает на механизм, в котором находится база данных. Ваш PHP 32 или 64 бит? Какую версию PervasiveSQL вы используете?