Firebird

為什麼我會收到此錯誤“語句失敗,SQLSTATE = 08001”?

  • November 30, 2016

每當我嘗試連接 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-fbfbserver無論權限是什麼,它都無法訪問加密的掛載。

您需要將自己添加到 Firebird 組中

sudo adduser `id -un` firebird 

或者如果 Server 是 Classic 或 SuperClassic,則始終在 db 前面使用 localhost 地址

請參閱此處的長執行緒 http://firebird.1100200.n4.nabble.com/Fwd-Have-you-tried-firebird-2-5-SuperClassic-from-the-packages-td3053790.html

引用自:https://dba.stackexchange.com/questions/64403