Невозможно запустить Firebird - PullRequest
1 голос
/ 04 декабря 2010

Я устанавливаю Firebird (v1.5.5 - я знаю, что он старый, но работает) на новом компьютере под управлением Windows 7. Я установил классическую версию сервера в качестве службы. Согласно документации на сайте Firebird, я изменил файл firebird.conf, чтобы IPCName был глобальным \ FirebirdIPI; Я сделал это, когда служба не работала.

Несмотря на все мои усилия, я не смог получить доступ ни к одной из баз данных, которые я скопировал на этот новый компьютер через ISQL. FWIW, программа менеджера EMS SQL 2005 успешно обращается к базам данных, но эта программа, очевидно, имеет прямой метод, который не требует fbclient.dll.

Что еще я должен проверять?


Обновление через несколько дней. Потратив много времени на Windows 7, мы решили понизить версию компьютера и запустить XP. После установки версии суперсервера FB 1.5.5 я могу запускать свои программы и получать доступ к базам данных, которые хранятся на этом компьютере . Попытки получить доступ к базам данных с других компьютеров, подключенных к сети, были неудачными с различными сообщениями об ошибках, но обычно это что-то вроде «ошибка ввода-вывода для файла! Firebird! \ Db \ q400.fdb».

Чтобы позволить людям в сети продолжать доступ к базам данных, я восстановил сервер NT и запустил службу Firebird - и все программы могут успешно обращаться к этим базам данных с удаленных компьютеров!

Для упрощения, в сети есть три компьютера:

  1. сервер NT ('zorcomp'), на котором запущена служба Firebird; файлы fdb находятся на этом компьютере в каталоге с именем «db», который находится в общем каталоге с именем «firebird»
  2. компьютер под управлением XP, называемый «kivserver», который также имеет общий каталог с именем «firebird» и под ним каталог, называемый «программы». Копии всех файлов fdb находятся в каталоге с именем 'db'.
  3. компьютер под управлением XP, который отображает \ zorcomp \ firebird на диск L: и \ kivserver \ firebird на диск T. С этого компьютера я могу запустить программу, находящуюся в T: \ Programs, и получить ее для успешного доступа к файлу сидя в д: \ дб. Если я остановлю службу FB на zorcomp и запуском той же службы на kivserver, эта же программа не сможет получить доступ к файлам, расположенным в T: \ db.

Надеюсь, это достаточно ясно. На самом деле, я не вижу никакой разницы между всеми файлами, которые находятся в \ kivserver \ firebird, и теми, которые находятся в \ zorcomp \ firebird - но как-то есть разница!

Очевидно, я не хочу, чтобы эта договоренность продолжалась - сервер NT должен быть почетно удален.

Дальнейшее редактирование. Теперь у меня есть сервер Firebird, работающий на «kivserver» (NT). Я могу получить доступ к файлам базы данных локально.

Компьютеры под управлением Win7 теперь могут получить доступ к этим файлам базы данных, используя строку подключения \\ kivserver \ firebird \ db \ database.fdb.

Компьютеры под управлением XP не могут получить доступ к этим файлам базы данных, хотя IIRC wisql успешно справился с \\ kivserver \ firebird \ db \ database.db.

Сервер NT был отключен от сети. ТИА, No'am

Ответы [ 4 ]

0 голосов
/ 05 апреля 2011

Несколько месяцев спустя сервер NT несколько неожиданно вышел из строя, когда он отображал «MBR error» при перезагрузке после того, как кто-то случайно отключил его. Таким образом, у меня не было выбора, кроме как запустить серверную программу Firebird на «kivserver». Возникли проблемы с подключением.

В конце концов мне удалось решить проблему с помощью следующей строки подключения

10.0.0.202: е: \ Жар \ дб \ manager.fdb

где 10.0.0.202 - это ip-адрес сервера, а e: \ firebird \ db - каталог, в котором находится база данных, относительно самого сервера.

Я надеюсь, что кто-то еще когда-нибудь найдет эту информацию полезной.

0 голосов
/ 10 декабря 2010

Попробуйте использовать это для подключения к вашей базе данных:

имя хоста: диск: \ полный путь \ filename.fdb

или

\ имя хоста \ диск \ полный путь \ filename.fdb

Могу ли я узнать, какой компонент вы используете?

0 голосов
/ 20 декабря 2010

Если ваши клиенты Windows 7, вы можете попытаться использовать \\ имя_хоста \ имя_ресурса \ имя_файла.fdb вместо диск: \ filename.fdb строка подключения.

0 голосов
/ 05 декабря 2010

AFAIK EMS SQL использует fbclient.dll (или оболочку вокруг него).

Если вам нужен только доступ к базам данных, я предлагаю вам использовать протокол TCP вместо локального протокола. Для этого подключитесь так:

c:\>isql localhost:c:\path\to\db.fdb -u sysdba -p masterkey

Если вы не используете протокол TCP или локальный интерфейс не включен, он сделает всю работу за вас.

...