2015-04-29 79 views
4

我試圖通過建立在Flamerobin我的主目錄Firebird數據庫,但是我總是得到火鳥錯誤嘗試創建文件,權限被拒絕

*** IBPP::SQLException *** 
Context: Database::Create 
Message: isc_dsql_execute_immediate failed 

SQL Message : -902 
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements 

Engine Code : 335544344 
Engine Message : 
I/O error during "open O_CREAT" operation for file "/home/user/test.fdb" 
Error while trying to create file 
Permission denied 

即使該文件是CHMOD 777,文件/ etc/firebird/2.5/firebird.conf已被修改,因此:

DatabaseAccess = Full 

設置爲允許訪問所有文件。 該服務正在運行:

$ ps ax | grep fireb 
3909 ?  S  0:00 /usr/sbin/fbguard -daemon -forever -pidfile /var/run/firebird/2.5/fbserver.pid 

即使奇怪了netstat沒有找到連接端口:

netstat | grep 3050 

,並返回空列表。

如果我連接到現有數據庫中的所有作品,例如連接到

/var/lib/firebird/2.5/system/help.fdb 

正確顯示錶。

回答

3

我看到了兩個可能的原因:

  1. 你提到的文件是CHMOD 777,這意味着該文件已經存在,因此,創建一個新的數據庫將會失敗。

  2. 您正在嘗試通過Firebird服務器創建(或連接)到用戶文件夾中的文件(我假設您的文件)(儘管沒有服務器正在運行可能表明情況並非如此)。

我假設Firebird服務器沒有在您的帳戶下運行(但是在firebird用戶下),因此不允許訪問您的文件夾中的文件。

您需要在火鳥用戶有足夠的訪問權限的位置創建(或訪問)的數據庫,或者使用本地(嵌入式)連接(雖然我不知道這是由flamerobin支持。

2

檢查/家庭/用戶所有者和模式和firebird進程所有者。我很確定用戶哪個運行firebird只是無法訪問此目錄。

2

您必須在文件中做一些事情......首先,讓我們看到安全的東西...

/etc/firebird/2.5/firebird.conf

部分:DatabaseAccess它必須是這樣的:

DatabaseAccess Restrict /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 

保存並重啓火鳥服務,如:

sudo service firebird-2.5"theversionyouhave" restart 

必須更改目錄的所有者是這樣的:

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

,現在你可以使用flamerobin沒有任何麻煩...

0

我有同樣的問題,如上所述,嘗試在Oracle Linux操作系統中運行firebird 2.5,不能重新用gbak存儲任何數據庫,相同的錯誤信息。
搜索後,我找到了一個有關目標目錄和臨時目錄權限的答案。
我的解決方案:以root身份:
首先重新運行firebird安裝程序以授予在安裝時沒有問題;
之後,在/(例如/ fdb)上創建火鳥數據庫的特定目錄,
將備份文件移動到此目錄;
整個目錄的所有者更改爲火鳥用以下命令

chown firebird /fdb -R 
chmod 700 firebird /fdb -R 
在此之後

,GBAK通常對我來說,運行它作爲根。

參考:http://forums.devshed.com/firebird-sql-development-61/gbak-restore-linux-453690.html

相關問題