Firebird 2.5 SuperServer与SuperClassic的权限结构

时间:2015-03-04 20:16:34

标签: firebird firebird2.5

我正在运行在localhost上的OSX10.10上运行最新的firebird 2.5-26780 SuperClassic

以前,我一直在运行SuperServer并决定迁移到SuperClassic,因为这是我们的应用程序更理想的操作模型。我很困惑,发现它似乎与SuperServer有非常不同的权限结构。

使用SuperServer - 我能够使用isql和C-api直接连接到我的用户拥有的firebird数据库,并具有常规用户权限。

我改为SuperClassic后 - 我无法再直接连接数据库了。尝试使用isql yeilds直接连接:

Statement failed, SQLSTATE = 28000
cannot attach to password database

我现在需要通过localhost连接。此外,数据库现在必须由firebird用户拥有。最后,即使将自己添加到firebird组,我也需要使用超级用户权限通过isql等工具连接到数据库。

这些更改听起来是否正确/必要? SuperClassic firebird服务器是否需要一些额外的配置步骤?虽然上面的步骤让我起步,但他们觉得有些笨拙。

1 个答案:

答案 0 :(得分:1)

您似乎错误地安装和/或配置了Firebird SuperClassic。

当您通过TCPIP连接字符串连接时(即,以服务器名称启动,在本例中为“localhost”),您实际上是在与Firebird实例建立网络连接,并使用自己的权限访问数据库文件(如果Firebird在“firebird”用户下运行,数据库也将在“firebird”下运行。

一般来说,如果您正在开发多用户客户端 - 服务器应用程序(我想是这样,除非您不需要SuperClassic),这种方法更正确 - 一切都在firebird用户下运行。

尝试将isql作为firebird用户运行,它也应该使用本地路径。