Firebird: DBExpress or native components?

2020-06-16 10:25发布

问题:

I am starting with Firebird and have found components to access a database by Devart. They offer native components (IBDAC) or DBExpress drivers. (I am using Delphi XE2 Pro which doesn't include Firebird drivers)

I guess native components are a bit faster, but that's not too important for me.

What are the advantages/disadvantages of each approach and why should I choose one over the other?

回答1:

IBdac

  • your application is tied to firebird
  • you are familiar with bde or ado
  • performance
  • maximal Firebird support

DBexpress

  • portability (it is easy to port you application to anther database).
  • upgrade pro edition to enterprise so you can use one supplied by embarcadero.

You can check Devart FAQ.



回答2:

Check Anydac. It is universal data access library, but supports most of Firebird specific features including - multiple transactions, database events, services (backup/restore), etc. The performance is very good. Sorry, i cannot imagine dbExpress advantages over Anydac.



回答3:

FIBPlus and UIB are also good choice



回答4:

Native components can support database specific functions. I've missed event support with DBExpress when using 3rd party driver from Upscene.

DBExpress should make it easier to create database agnostic application, but I've no experience about that.



回答5:

ZEOSlib might be a nice alternative, actively developed and supporting many databases including Firebird.