2

我正在考虑将 Interbase 6 / Delphi 7 应用程序移植到 Delphi 2007 中的嵌入式 Firebird。我们遇到的一个问题是让我们的用户(通常是一群不熟练的人,真的 - 虽然我很自然地喜欢他们)解除阻塞我们的应用程序在他们的防火墙中。Windows 防火墙本身相当简单,但它们通常运行 McAfee 或类似产品(他们倾向于购买预装了这些东西的廉价戴尔),而且这些东西的每一个变体似乎都有一个稍微不同的用户界面。

不过,我离题了,对不起。开门见山; 如果我的 Delphi 应用程序连接到嵌入式 Firebird 数据库,我是否仍需要在用户的防火墙中全部/打开某些东西(就像我目前在安装连接到“正常”IB6 的东西时所做的那样)?

如果你已经读到这里了(谢谢)——嵌入式 Firebird 可以在一台机器上同时使用吗?假设我们有 2 个应用程序,它们都想使用不同的数据库 - 用户是否可以在同一台机器上同时运行这两个应用程序,或者是否有某种端口绑定在后台进行,我们必须这样做解决?

4

3 回答 3

3

我从来没有遇到过防火墙或带有嵌入式 firebird 的 McAfee 问题。(我认为这是因为嵌入式并不是真正的“服务器”,并且不需要端口来操作)

是的,您可以同时拥有两个应用程序,只需将可执行文件和数据库保存在两个不同的文件夹中。

于 2009-11-21T11:49:29.703 回答
3

即使在本地机器上的非嵌入式安装中使用 Firebird,我们也从未在数百个安装中遇到任何防火墙问题。您甚至不必使用 TCP/IP 连接到数据库。我们确实使用 TCP/IP,但使用本地共享内存协议将完全避免这个问题。

Firebird 是一个出色的嵌入式或半嵌入式数据库。我们只是在正常模式下安装它,它在后台运行,无需任何用户干预,24x7 一次运行多年。

于 2009-11-21T14:42:15.437 回答
1

由于 Firebird 的嵌入式版本不使用 TCP/IP 与数据库通信,因此您可以在单用户计算机上使用。请记住,Firebird Embedded 是单用户的,您将无法让两个应用程序同时与同一个数据库通信。为此,您需要在机器上安装 Firebird 服务器,并在两个应用程序的连接字符串中使用 localhost:C:\Data\MyDB.FDB。

我使用 UIB 与 Firebird 通信(我为使用它的 OPF 编写了一个持久层),它是线程安全的(与 IBX 不同),而且我发现它比 IBX 快得多。JVCL 附带一个版本,在http://www.progdigy.com上有一个稍晚的版本

于 2009-11-23T15:43:39.033 回答