Firebird
為什麼我會收到此錯誤“語句失敗,SQLSTATE = 08001”?
每當我嘗試連接 Firebird SQL 時,都會收到此錯誤,
firebird$ isql-fb 'db.FDB' -u SYSDBA -p <PASS> Statement failed, SQLSTATE = 08001 I/O error during "open" operation for file "CAFW.FDB" -Error while trying to open file -Permission denied Use CONNECT or CREATE DATABASE to specify a database
我能做些什麼來解決它,我已經確保我目前的使用者具有對該文件的讀/寫訪問權限。
$ sudo chown firebird:firebird ./db.FDB $ sudo chmod 770 ./db.FDB # should only need 660 $ ls -lah -rw-rw---- 1 firebird firebird 53M May 2 17:13 CAFW.FDB
如果您的主目錄位於加密目錄中,則無論權限如何,守護程序本身都無法讀取該主目錄。
您提供
isql-fb
一個文件名,但該文件不會被讀取,isql-fb
但fbserver
無論權限是什麼,它都無法訪問加密的掛載。
您需要將自己添加到 Firebird 組中
sudo adduser `id -un` firebird
或者如果 Server 是 Classic 或 SuperClassic,則始終在 db 前面使用 localhost 地址