Subject Re: [IBO] Firebird and IBTransaction IBDatabase C++ Builder
Author Helen Borrie
At 08:52 PM 10/02/2008, you wrote:
>Is Firebird supposed to be able to work with standard InterBase
>components that come with Borland C++Builder 6(eg: IBTransaction
>IBDatabase etc.) and if so...how?

No. Those components (known as InterBaseXpress) are an API abstraction layer for InterBase, just as the two series of IBO components are for IB or Firebird.


>I have Firebird 2.0.3 and Borland C++Builder 6.0
>I can create a Firebird database and tables with ISQL.
>But I can't get any of the Borland InterBase components, the Borland
>Database Desktop v7.0 or SQL Explorer v4.00 to work with Firebird. They
>only work with InterBase (when I turn it on)

Don't bother to try. Those tools need the Borland Database Engine and there is not BDE driver that works properly with Fb 2. If you want "free", use IB_SQL. There are quite a lot of handy tools around for Firebird, some free, some not, e.g. Database Workbench.

>I haven't tried using ODBC yet, as I presumed the IB components would
>have worked directly.

Correct. IBO is an abstraction layer in its own right. It doesn't use any others.

>Is there a client API that I need to import instead? I have also just noticed IBObjects.

Well, here you are! :-) This is the support list for IBO. The client API lives in the fbclient.dll library, which will be loaded for you by the TIB_Connection component when required. IBO has its own header unit that is a translation of the C API header ibase.h. It is called ib_header.pas and it will be added to your uses list automatically when you drop a TIB_Connection class object into the IDE. (If you plan to create all your objects at run-time, you will need to add this and some other global units to the relevant source unit[s].)

>Do I need to use those instead of the InterBase components?

Yes. There are two series of IBO components. The ones starting with TIBO* are referred to as "TDataset compatible" although, technically, they are TDatasource-compatible. This means you can use them with Delphi's own VCL data-aware controls. The ones starting with TIB_* are "native" IBO, a complete architecture in its own right. The data access components in this series use the TIB_Datasource and link to the TIB_* data-aware controls.

Helen