Когда я пытаюсь что-то сделать в isql, я получаю сообщение:
Ваше имя пользователя и пароль не определены. Спросите свою базу данных администратору для настройки входа в Firebird.
не могу открыть базу
Когда я пытаюсь создать пользователя, я все еще получаю сообщение:
C:\Program Files\Firebird\Firebird_3_0>gsec -user sysdba -password masterkey
use gsec -? to get help
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.
unable to open database
Но я администратор, и я установил его.
Как создать пользователя SYSDBA в Firebird?
Это может произойти, например, если вы установили Firebird в C:\Program Files, но запускаете Firebird как приложение, а не как службу.
Я запускаю его как службу
Комбинация «Ваше имя пользователя и пароль не определены. Попросите администратора базы данных настроить вход в Firebird». с «невозможно открыть базу данных» не означает, что учетная запись SYSDBA не существует, это означает, что процесс Firebird не смог открыть базу данных безопасности для выполнения аутентификации.
Это может произойти, если вы установили Firebird в C:\Program Files
и используете сервер Firebird как приложение (а не как службу) и UAC включен, или вы работаете как служба, но учетная запись пользователя, запускающая службу, не имеет достаточных прав. для чтения и записи в файл security3.fdb
.
Вам либо нужно запустить Firebird как службу (например, как настроено установщиком), либо — если вы действительно хотите запустить Firebird как приложение — установите Firebird вне C:\Program Files
.
Я запускаю Firebird как сервис, он установлен в C:\Program Files (установка по умолчанию)
Как подсказала помощь, вы должны иметь возможность установить пароль SYSDBA во время установки, но я не нашел эту опцию. второе предложение, упомянутое в справке, - это сгенерированный файл, содержащий пароль, но я не смог найти и его.
@GuidoKleijer Наличие сгенерированного пароля в файле применимо только к Linux, в Windows установщик попросит вас ввести пароль SYSDBA (на странице после «Выбор дополнительных задач»), однако эта страница пропускается, если вы устанавливаете в папку который уже содержит security3.fdb
(т. е. из предыдущей установки). В любом случае, я могу воспроизвести ваши ошибки только в том случае, если я запускаю Firebird как приложение или если я настраиваю службу с учетной записью, у которой недостаточно прав на чтение и запись файла security3.fdb
.
@GuidoKleijer По умолчанию служба будет запускаться под учетной записью локальной системы. Проверьте, так ли это на самом деле, и проверьте, имеет ли системная учетная запись «Полный доступ» к файлу security3.fdb
в C:\Program Files\Firebird\Firebird_3_0
.
Учетная запись SYSTEM имеет полный доступ к security3.fdb
как вы упомянули, старые установочные файлы не позволяют установщику установить пароль.
Как создать пользователя SYSDBA в Firebird?
Подключитесь к любой базе данных (security.db или employee) во встроенном режиме, используя имя пользователя SYSDBA (в этом режиме пароль не требуется) и введите команду SQL «CREATE USER», как описано в Справочнике по языку Firebird.
Вы можете узнать больше о встроенном режиме из примечаний к выпуску Firebird 3.0.
Хотя в целом это правильно, это не настоящая проблема ОП.
Да. Но выполнение этих шагов может помочь им узнать больше о Firebird и устранить проблему. Если проблема в общей ошибке подключения - обнаружат сразу без искажений от вводящего в заблуждение сообщения "имя пользователя не определено".
Ошибка невозможности открыть базу данных предполагает, что ваша проблема на самом деле не связана с отсутствием учетной записи SYSDBA, а может указывать на то, что ваш процесс Firebird не может получить доступ к базе данных безопасности. Как вы запускаете Firebird и уверены ли вы, что пользователь, работающий на сервере Firebird, имеет достаточные права для чтения и записи файла security3.fdb?