Несколько машин работают под одним программным обеспечением, некоторые не подключаются к Firebird - PullRequest
1 голос
/ 10 февраля 2009

Я довольно озадачен ... У меня есть 5 разных тестовых компьютеров, все относительно пустые машины с Windows XP, на которых работают схожие аппаратные характеристики. Я запускаю автоматическую установку базы данных FireBird (Classic) и моего приложения. Некоторые компьютеры требуют «localhost:» (или 127.0.0.1) перед размещением базы данных, чтобы установить соединение, а некоторые просто не работают вообще! Это работает точно так же программное обеспечение по всем направлениям. Кто-нибудь есть какие-либо предложения относительно того, что должно произойти, чтобы сделать строку подключения универсальной, или что я могу делать неправильно ??

Это версия Firebird 2.1.1.17910 Classic

Кстати, я попытался подключиться к той же базе данных, используя FlameRobin (небольшой инструмент управления БД), и он прекрасно работал на компьютерах, которые не подключаются.

Любая дополнительная информация, просто дайте мне знать! Большое спасибо заранее

Ответы [ 3 ]

3 голосов
/ 11 февраля 2009

Для чьей-либо будущей ссылки, ответ в сервисах. По-видимому, по какой-то причине он не был зарегистрирован как сервис, и на рабочих компьютерах был в какой-то момент зарегистрирован, вероятно, с помощью каких-то гораздо более ранних тестов Interbase, я думаю.

C: \ Windows \ System32 \ drivers \ etc, открыв файл 'services' и добавив следующую строку, чтобы сервер работал нормально.

gds_db 3050 / tcp

1 голос
/ 11 февраля 2009

Это как-то связано с файлом hosts на некоторых компьютерах? Или это то, что вы имеете в виду с

Некоторые компьютеры требуют «localhost:» (или 127.0.0.1) перед расположением базы данных ...

комментарии

1 голос
/ 11 февраля 2009

Я не уверен, знаете ли вы об этом, но строка подключения без «localhost:» или «127.0.0.1:» перед именем базы данных или псевдонимом будет использовать локальный протокол, который не может быть используется при подключении к серверу Firebird Classic (для получения дополнительной информации см. эту ссылку ). Если указано имя хоста или IP-адрес, для соединения будет использоваться TCP-порт 3050.

Если вы зарегистрировали сервер в FlameRobin и не оставили поле имени хоста в диалоговом окне регистрации пустым, то имя хоста будет частью строки подключения. Это объясняет, почему вы можете подключиться с помощью FlameRobin.

Что касается различий между машинами: сначала вы должны зайти в апплет Firebird Server Manager и убедиться, что сервер действительно работает на всех машинах и что версия одна и та же.

...