Не удается подключиться к локальному Firebird с ISQL

Я пытаюсь настроить локальный экземпляр firebird для тестирования, но не могу подключиться к нему даже с помощью ISQL. Я попытался следовать, следуя руководству быстрого запуска здесь:

CONNECT ..examplesempbuildemployee.fdb user SYSDBA password masterkey;

в результате которых:

Statement failed, SQLSTATE = 08001
unavailable database

после некоторого поиска я попытался изменить это на:

CONNECT "localhost:C:Program FilesFirebirdFirebird_2_5examplesempbuildemployee.fdb" user SYSDBA password masterkey;

в результате которых:

Statement failed, SQLSTATE = 28000
cannot attach to password database

после подтверждения у меня был правильный путь к каталогу, который я решил дать на подключение сейчас и попробовать создание новой БД:

SQL>CREATE DATABASE 'C:datatest.fdb' page_size 8192
CON>user 'SYSDBA' password 'masterkey';

что также дало мне ошибку:

Statement failed, SQLSTATE = 08001
unavailable database

есть ли какие подводные камни меня могут бить? Я также пробовал команды выше как с, так и без запуска службы firebird. Также есть подробная ссылка на коды SQLSTATE?

1 ответов


Как уже упоминалось в моих комментариях, проблема вызвана запуском сервера Firebird в качестве приложения. Firebird имеет свою базу данных паролей (security2.fdb) в C:\Program Files\Firebird\Firebird_2_5. Поскольку эта база данных является (почти, но не полностью) обычной базой данных Firebird, сервер требует доступа на запись в эту базу данных (для транзакций и т. д.).

по умолчанию (с UAC) пользователи не имеют доступа на запись в базу данных паролей, поэтому для этого требуется повышение до администратора. Поэтому доступ к Firebird требует, чтобы вы либо запускали приложение как службу с достаточными правами (например, как это сделано установщиком по умолчанию), либо при запуске сервера как приложения для запуска его "как администратора". Другой вариант-не устанавливать его в Program Files.

этот BTW применяется дважды при доступе к базе данных сотрудника примера, поскольку этот файл базы данных также находится в папке Program Files.