无法连接到火鸟

Lev*_*min 2 ubuntu firebird

我几乎逐行关注此文档:

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
Run Code Online (Sandbox Code Playgroud)

在这个阶段我看到一个提示,要求我设置密码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/
Run Code Online (Sandbox Code Playgroud)

最后:

$ isql-fb
SQL> connect "/var/lib/firebird/2.5/data/employee.fdb " user 'SYSDBA' password 'root';
Run Code Online (Sandbox Code Playgroud)

结果,我收到以下错误消息:

Statement failed, SQLSTATE = HY000
operating system directive open failed
-Permission denied
Run Code Online (Sandbox Code Playgroud)

这有什么问题吗?

lor*_*lad 6

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

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