Сервер запускается, все нормально. Запускаю FlameRobin, хочу создать базу данных. Имя - test, путь - /tmp/test.fdb. Логин - SYSDBA, пароль - masterke
В результате вижу такую ошибку: SUSE Paste
Попробуй в строке где надо указывать путь к базе данных. Указать вместо /tmp/test.fdb просто имя. я написал test и база у меня создалась.
Другое дело что непонятно куда он ее положил, надо читать документацию мне лень. Но база выглядит рабочей.
и еще по поводу пароля. Надеюсь у тебя в сообщении просто опечатка, нет последней буквы.
Насчет пароля - учитываются только первые 8 символов, поэтому без разницы, masterke или masterkey
Да, такой способ помог. Если вписать в путь просто имя БД, то БД создается и выглядит рабочей. Но это довольно странно, для сравнения, на мандриве 2011 при таких же действиях и указании пути к БД (например, /tmp/test.fdb) все работает как надо.
Да согласен, странно, вообще этот способ у меня практически случайно получился. Возможно стоит копать в сторону прав доступа. Но простейшие действия типа установки на каталог с будущие базой прав firebird:firebird у меня не сработало. Если выяснить где же он все таки хранит базу, и если получится положить в эту же папку базу с полным путем, тогда возможно проблема именно в правах. А может быть и какой то сусе специфичный баг. Ибо в официальном руководстве про эту ошибку сказано одно, если это не сетевая проблема(не открыт порт и т.п.) Тогда при выполнении операции сервер firebird просто падает, поэтому разрывается соединение. В общем можно либо пользоваться так, либо попробовать разобраться в чем именно проблема, и возможно починить для openSUSE.
Выяснил, что базы данных по умолчанию хранятся в /srv/firebird
Я ж потому и пробовал создавать базу данных в /tmp , т.к. туда может писать кто угодно. Попробовал через FlameRobin создать БД с указанием пути /srv/DBname - не помогло, такая же ошибка.
Все разобрался в чем дело. Доступ к другим папкам ограничен не средствами ОС. А средствами самого FireBird.
В конфиге /etc/firebird/firebird.conf есть параметр DatabaseAccess который по умолчанию стоит Restrict /srv/firebird
Если раскоментировать строку выше DatabaseAccess = Full и закоментировать ограничение. То у меня базы создаются везде где может создать файл firebird. То есть /tmp/test.fdb без проблем создается.
Единственно странно, что у вас не получилось создать базу в папке /srv/firebird, так как у меня именно она прописана по умолчанию.