尝试创建文件时发生Firebird错误,权限被拒绝 [英] Firebird Error while trying to create file, Permission denied
问题描述
我正在尝试通过
I'm trying to create a Firebird database in my home directory through Flamerobin however I always get
*** 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也已修改为:
even though the file is chmod 777, the file /etc/firebird/2.5/firebird.conf has been modified so that:
DatabaseAccess = Full
设置为允许访问所有文件. 服务正在运行:
is set to allow access to all files. The service is running:
$ ps ax | grep fireb
3909 ? S 0:00 /usr/sbin/fbguard -daemon -forever -pidfile /var/run/firebird/2.5/fbserver.pid
即使奇怪的是netstat找不到连接端口:
even though strangely the netstat doesn't find the connection port:
netstat | grep 3050
并返回空列表.
如果我连接到现有数据库,则所有工作正常,例如连接到
If I connect to an existing database all works, for instance connecting to
/var/lib/firebird/2.5/system/help.fdb
正确显示表格.
推荐答案
我看到两个可能的原因:
I see two possible causes:
-
您提到文件是chmod 777,这意味着该文件已经存在,因此创建新数据库将失败.
You mention that the file is chmod 777, this implies that the file already exists, so creating a new database will fail.
您正在尝试通过Firebird服务器创建(或连接)到用户文件夹(我假设是您的文件夹)中的文件(尽管实际上没有服务器正在运行可能表明情况并非如此).
You are trying to create (or connect) to a file in a user folder (I assume yours), through the Firebird server (although the fact no server is running might indicate this isn't the case).
我认为Firebird服务器未在您的帐户下运行(但在firebird用户下),因此不允许它访问您文件夹中的文件.
I assume that the Firebird server isn't running under your account (but under the firebird user), and therefore it isn't allowed to access files in your folder.
您需要在Firebird用户具有足够访问权限的位置创建(或访问)数据库,或使用本地(嵌入式)连接(尽管我不确定Flamerobin是否支持该连接.
You need to create (or access) the database in a location where the Firebird user has sufficient access rights, or use a local (embedded) connection (although I am not sure if that is supported by flamerobin.
这篇关于尝试创建文件时发生Firebird错误,权限被拒绝的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!