是否可以为少数用户使用 Firebird Embedded

Posted

技术标签:

【中文标题】是否可以为少数用户使用 Firebird Embedded【英文标题】:Is it possible to use Firebird Embedded for small number of users 【发布时间】:2012-01-25 11:45:57 【问题描述】:

我在 Windows 上使用 Firebird(Delphi 2010 开发的应用程序)。

http://www.firebirdsql.org/manual/fbmetasecur-embedded.html

如果我们的应用程序在单台机器上(在 LAN 上)有嵌入式 firebird,那么多个用户(12-25 岁)是否可以使用它。运行应用程序的每台机器,指向单台机器上嵌入应用程序的 firebird 数据库?共享同一个数据库?

还是只有嵌入式版本 1 的用户?

【问题讨论】:

【参考方案1】:

从 Firebird 2.5 开始,多个 Firebird 嵌入式用户可以同时连接到同一个数据库文件。

【讨论】:

安德烈 - 看来你是对的。我通读了 2.5 的发行说明,它确实也是嵌入式版本的一部分。 firebirdsql.org/file/documentation/release_notes/html/… 使用嵌入式从多台机器访问单个数据库是导致数据库损坏和锁定冲突的途径。不要这样做:使用服务器。 我相信,Firebird 已经根据一些适合的用例引入了新功能。 不,网络上的共享文件访问应该永远使用 Firebird 数据库。您只是冒着损坏的风险,因为锁定文件很可能是每台计算机的本地文件!【参考方案2】:

虽然 Firebird 2.5 允许在一个单台机器上的多个应用程序访问一个嵌入的数据库文件,这应该这样做多个用户通过嵌入式局域网访问单个数据库文件。

由于共享和锁定问题,很容易导致数据库损坏。如果您想通过网络访问 Firebird 数据库:使用 Firebird 服务器。它更容易,很可能性能更高,并且不会损坏您的数据库文件。

您甚至不需要服务器系统来运行它,根据您的具体需求和负载,一台普通的台式机就足够了。

【讨论】:

【参考方案3】:

为什么不使用标准(非嵌入式)版本?它非常轻巧。

【讨论】:

维护?除了只有 1-5 个用户之外,我也在考虑同样的方法。 Firebird 是一个“零维护数据库”;) 维护是指安装服务器并跟踪哪个是具有多个网络安装的服务器的杂务。使用网络上的共享数据库,您只需启动任意数量的客户端,它们都可以在不需要服务器的情况下工作。

以上是关于是否可以为少数用户使用 Firebird Embedded的主要内容,如果未能解决你的问题,请参考以下文章

Firebird - PGSQL 中的串行字段? [复制]

如何为 windows 的 firebird 数据库创建多个实例(用户)?

如何通过SQL语句来修改FireBird用户sysdba的密码

Firebird hash join

嵌入式 SQL Firebird 使用 Java SE 批量更新 OutOfMemoryError

使用 Delphi 应用程序的 Firebird 错误“未定义用户名和密码”