无法连接到火鸟

Unable to connect to firebird

我几乎一行一行地遵循这个docs

sudo add-apt-repository ppa:mapopa
sudo apt-get update
apt-cache search firebird2.5-*
sudo apt-get install firebird2.5-superclassic
sudo dpkg-reconfigure firebird2.5-superclassic

在这个阶段,我看到一个提示,要求我为 SYSDBA 设置密码,所以我将其设置为 root。然后我做剩下的:

sudo apt-get install firebird2.5-examples firebird2.5-dev 
cd /usr/share/doc/firebird2.5-examples/examples/empbuild/
sudo gunzip employee.fdb.gz
sudo chown firebird.firebird employee.fdb
sudo mv employee.fdb /var/lib/firebird/2.5/data/

最后:

$ isql-fb
SQL> connect "/var/lib/firebird/2.5/data/employee.fdb " user 'SYSDBA' password 'root';

因此,我收到了这些错误消息:

Statement failed, SQLSTATE = HY000
operating system directive open failed
-Permission denied

这有什么问题吗?

您的数据库文件可能仅限于超级用户,因为您一直在做 sudo gunzip ..., sudo chown ..., sudo ...

  • 尝试sudo isql-fb以超级用户身份工作(不是最佳选择)
  • 尝试sudo chmod 777 employee.fdb由任何人制作文件readable/writable(也不是最好的选择)
  • 尝试 sudo useradd -G {user} firebird 将自己添加到 firebird 组并 sudo chmod g+w employee.fdb 确保 employee.fdb 具有组写入权限(推荐)

我遇到了同样的问题,所以我决定post这个解决方案:

你必须做一些事情……首先,让我们看看安全方面的东西……

在文件中/etc/firebird/2.5/firebird.conf

section: DatabaseAccess一定是这样的:

数据库访问限制/the/directory/you/want/to/put/the/database

现在,在文件 /etc/firebird/2.5/aliases.conf 中输入别名和目录...

diryouwant = /the/directory/you/want/to/put/the/database/database.fdb

像这样保存并重启 firebird 服务:

sudo service firebird-2.5"theversionyouhave" restart

您必须像这样更改目录所有者:

sudo chown firebird.firebird /the/directory/you/want/to/put/the/database

现在您可以毫无问题地使用 flamerobin...