【发布时间】:2020-04-25 18:58:37
【问题描述】:
我正在尝试在 Ubuntu 操作系统上使用 FlameRobin 0.9.3 连接到 Firebird3.0 (localhost) 中的 employee.fdb。
使用 isql 连接到 Firebird 没有问题。我可以从终端创建用户、角色等。但是,当我尝试使用 FlameRobin 建立连接时,我收到 335544344“尝试打开文件权限被拒绝时出错”响应。
这发生在 SYSDBA 配置文件和我在 isql 中创建的任何其他新用户配置文件中。我什至可以在 FlameRobin 中创建新用户,但我无法连接到任何数据库。我已经在 /etc/firebird/3.0/firebird.conf 中验证了 DatabaseAccess = Full 并尝试从几个不同的文件夹访问数据库,以防这是一个读/写问题。没有成功。
我觉得我错过了一些明显的东西。有什么想法吗?
添加信息以回应 Mark (4/26):
数据库存储在 /var/lib/firebird/3.0/data/ 中。 我假设这是 Firebird 数据库的默认位置,并且服务器自动可以访问它,但是我想情况可能并非如此。有没有办法确认该目录的服务器权限和/或这是存储工作的习惯位置?
与 ISQL 的终端连接:
daniel@daniel-desktop:~$ isql-fb
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect '/var/lib/firebird/3.0/data/employee.fdb' user sysdba password 'xxxxxxx';
Database: '/var/lib/firebird/3.0/data/employee.fdb', User: SYSDBA
SQL>
FlameRobin 数据库注册信息:
FlameRobin 错误:
【问题讨论】:
-
请准确说明您如何使用 FlameRobin 进行连接,以及如何使用 ISQL 进行连接。我的猜测是您使用 ISQL 的嵌入式模式,并通过带有 FlameRobin 的服务器连接,并且服务器无权访问您的数据库文件(例如,因为它位于您的用户文件夹中,而不是服务器用户具有读写权限)。使用嵌入式模式时,Firebird 以您的用户而不是服务器进程的访问权限访问数据库。
-
在问题内容中添加了连接信息以响应@MarkRotteveel。
-
在 ISQL 中,如果您使用
connect 'localhost/3050:/var/lib/firebird/3.0/data/employee.fdb' user sysdba password 'xxxxxxx';连接,您可能会遇到同样的错误。
标签: firebird flamerobin