Subject Re: [ib-support] pros and cons of dbExpress , IBX , IBO , FIBPlus , ZeosLib
Author Helen Borrie
At 04:59 AM 17/02/2003 +0800, you wrote:
>What are the pros and cons of the different
>Firebird/Interbase access methods for Delphi?
>Some specific questions would be:
>1) Why would one want to use dbExpress over
>IBX/IBO/FIBPlus (or vice versa)?

dbExpress is Borland's client/server replacement for the BDE. The usual
situation where you would use it in preference to a dedicated interface
like IBO or FIBPlus is where your client application has to interface
interchangeably with more than one DBMS. The front-end is the same, the
interface layer is DBMS-specific. It is very generic, so you are limited
to capabilities which are shared by all of the supported DBMSs, and it
doesn't support multiple transactions per connection. At
you will find a DBExpress driver for Firebird.

>2) What are the pros and cons of IBO vs. FIBPlus?

Both present a dedicated Delphi/CPPB interface to IB and Fb. FIBPlus and
the the "TIBO" series of IBO components inherit from the VCL connectivity
components and are functionally similar. They connect to the VCL's
data-aware controls through TDatasource and can therefore support the same
third-party components that the VCL does (like QuickReport and
Teechart). IBO also has its own native connectivity architecture (the
"TIB_" series) which is much more powerful than the TDataset architecture
and comes with its own data-aware controls. It provides "hybrid" routes
for using the standard 3P spin-offs but is also supported natively by some
very respectable reporting packages. It's not so much a case of "pros and
cons" but of your application requirements. However, native IBO rewards
good database and Delphi skills and is likely to be a steep curve for a
beginner in either of these skill areas.

>3) Are there any practical reasons for choosing IBX
>over the (ostensibly superior) 3rd party FIBPlus or IBO

None at all. Borland has a clear policy of not admitting patches to keep
IBX compatible with Firebird.

>4) If price is the factor and one does not wish to
>purchase IBO or FIBPlus, would it be advisable to
>use ZeosDB objects instead of dbExpress or IBX (both
>of which already come with Delphi at no extra cost)?

ZeosDb fits into the same use model as DBExpress. If you want a generic
interface and are concerned about a DBMS-unspecific user interface, these
comps are worth a look.

>5) Related to #4 could be: how serious are any FB
>incompatibilities with IBX and the dbExpress Interbase

Beginning to be serious, although IBX is said to be still useable with Fb
1.0.x. Given Borland's policy, you should regard the incompatibilities as
serious if you plan to keep up with new Firebird versions.

Two tips:

1: don't take others' word for it. Try them all and choose what works
best with your requirements.

2. Price of interface components is not, in reality, a factor in the
overall scale of the economy of database application development. If you
need to produce good quality applications, use components that can achieve
that. Your time is always going to be exponentially more expensive than
what you pay for your development tools. The more custom coding you have
to write and maintain, the less the value of the cheap component solution.