如何在我的Delphi应用程序中使用嵌入式Firebird

时间:2013-05-27 18:26:30

标签: delphi firebird delphi-xe3 firebird2.5

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

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

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

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

  

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

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

  

如果是,那我该怎么办呢?

您必须更改firebird客户端库的名称,一般来说。

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

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

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

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

  

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

您可以使用ZEOS.

<强>更新 在Firebird 3中:

  

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