Подключение с помощью PHP / Windows / MySQL к файлу базы данных GDB - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть файл базы данных: laboratoire.GDB.

Моя цель - подключиться к этой базе данных и получить информацию.

Я установил WAMP (Windows, веб-сервер Apache, Mysql-сервер и PHP) и включил расширение firebird и interbase.

Когда я пытаюсь подключиться к базе данных, я получаю следующее сообщение об ошибке:

(ibase_connect(): Unable to complete network request to host "localhost". Failed to establish a connection. in C:\wamp\www\teste.php on line ...)

Вот мой код:

$host = "localhost:C:\wamp\www\laboratoire.GDB";
$username="SYSDBA";
$password="masterkey";
$dbh = ibase_connect($host, $username, $password);

1 Ответ

0 голосов
/ 12 ноября 2018

Вы сказали, что установили MySQL Server. Вы также сказали, что пытаетесь прочитать файл базы данных с расширением GDB. Но это не база данных MySQL, и ваш сервер MySQL / MariaDB не может ее прочитать.

Расширение GDB типично для серверов семейства Firebird / Interbase / Yaffil / Fyracle / RedDataBase. Таким образом, вы должны установить один из них, чтобы прочитать файл. Предполагая, что это тот формат, а не какой-то другой (например, Windows XP использует расширение GDB для своих собственных целей, может быть, и другое программное обеспечение тоже - http://www.firebirdfaq.org/faq353/).

Первая проверка - использовать IB FirstAid, чтобы попытаться открыть файл БД. Если он откроется - вам нужно проверить формат базы данных (так называемый ODS), чтобы увидеть, какой сервер вам нужно установить.

Запустите FirstAid, откройте базу данных, нажмите кнопку «Прямая диагностика» и на вкладке «Прямое исправление» найдите текст типа

12:48:17 INFO: Running procedure: Header page check
12:48:17 INFO: ODS Major = 11 (32779)
12:48:17 INFO: ODS Minor = 1

Маркер Firebird равен 32779 = 11 + 32768, межбазовый маркер будет иметь нулевую разницу.

Вы также можете проверить ODS в IBExpert Trial в меню Инструменты / База данных внутри

Если файл будет открыт, вам нужно определить, принадлежит ли ваш файл к семейству Firebird или Interbase, другие разновидности встречаются очень редко. Однако, если, несмотря на название, это имя файла не имеет ничего общего с семейством FB / IB - вам придется определить, что такое настоящий формат.

Предполагая, что вы изучили ODS и проверили, что это ODS Firebird, а не ODS Interbase, следующее соединение будет:

  • ODS 12 => Firebird 3.x
  • ODS 11.x => Firebird 2.5.x
  • ODS 10.x => Firebird 1.x или 2.x.x с одинаковыми битами и порядковыми номерами.

См. http://www.firebirdfaq.org/faq125/

Показывает ли FirstAID, что ваш файл относится к семейству Interbase, а не к семейству Firebird - вам придется обратиться к документации Interbase, чтобы выбрать и установить правильную версию сервера.

...