3

我的 Delphi XE3 应用程序使用 Interbase 组件连接到 Firebird 2.5 SuperServer。

我开始了一个新项目来隔离问题,并尝试连接到我的软件数据库。结果如下。

1 - 我可以正常使用 TIBDatabase 连接到数据库。

我想将它部署为使用嵌入式 Firebird 我的问题是:

  1. 我可以使用 Interbase 组件连接到嵌入式 Firebird 吗?
  2. 如果是,那我该怎么做?
  3. 如果没有,那么是否有任何免费的 Firebird 组件?
4

2 回答 2

3

虽然 Interbase 和 Firebird 在 API 方面几乎兼容,但我记得有些人报告说在连接到 Firebird 时使用 IB 组件(由 Delphi 提供)时会出现问题。这些组件正式仅用于 Interbase,因此您可以确定随着时间的推移情况会变得更糟(更不兼容),而不是更好。所以我建议使用官方支持 Firebird 的组件。我个人使用免费的UIB,但也有其他的(免费和商业)。

于 2013-05-27T18:48:56.560 回答
2

我可以使用 Interbase 组件连接到嵌入式 Firebird 吗?

默认情况下,您可以使用 Interbase 组件来使用 Firebird。

如果是,那我该怎么做?

您必须用通用词更改 firebird 客户端库的名称。

  • 在 dbExpress 和 Firebird 服务器版 => 在程序的客户端使用 fbClient.dll 和 dbxFb.dll。

  • 在 dbExpress 和 Firebird 嵌入式版本中 => 将 fbEmbed.dll 的名称更改
    为 fbClient.dll 并在
    程序的客户端(fbClient.dll 和 dbxFb.dll)中使用 dbxFb.dll。

  • 使用 IbExpress 和 Firebird 服务器版 => 将
    fbClient.dll 的名称更改为 gds32.dll。

此外,Daniel Magine 还写了一篇关于 Firebird 和 dbExpress 的文章。 http://www.embarcadero.com/rad-in-action/database

如果没有,那么是否有任何免费的 Firebird 组件?

您可以使用ZEOS。

火鸟 3 中的更新:

当不包含网络协议而仅包含数据库名称时,远程提供程序会拒绝它,并且 Engine12 提供程序会脱颖而出并尝试打开命名的数据库文件。如果成功,我们将获得与数据库的嵌入式连接。

于 2013-05-27T18:57:30.353 回答