Wednesday, 26 August 2009

Why to use Firebird+IBX

Jeff Overcash originally made it clear, that IBX doesn't officially support Firebird, and he has no intention to implement it. Many point at IBObjects and now DBExpress for Firebird support, so why use IBX? Here's a reason:

IBX supports Interbase 6.0, which is basically equivalent to Firebird 1.0. Firebird 2.1 supports the Firebird 1.0 API by providing a compatible gds32.dll, so Firebird 2.1 also works with IBX. IBX is part of Delphi, and has been part of Delphi for a long time, meaning that when there is a new Delphi version, IBX will most likely be included, too. This gives IBX a big advantage over IBObjects and others. I assume that IBX will still be around in 5-10 years. In case something should break with Firebird, the source code of IBX can be modified to fit.

Does this make IBX the best choice for doing Firebird with Delphi? No. But as long as it works well, there will be no need to switch, and I guess that a lot of people start using IBX simply because it is included with Delphi.

13 comments:

henri said...

IBX is not fully compatible with Firebird 2.1, and still have bugs with Unicode.
Do you really experienced IBX with Firebird 2.1 ?

Lars D said...

We use it. What bugs do you refer to?

Uranys said...

I use Firebird 2.1 with Delphi 2007 but without Unicode.
But I use CTE (Common Table Expressions), a lot of firebird 2.1 news functions, and it works like a charm.
IBX are nice, stable, easy to use, 0 delpoyement, best way to leave BDE.
I think it's a big mistake for Embarcadero to not support Firebird with IBX in Delphi 2010...

Dmitry Kuzmenko said...

to henri: yes, IBX have incompatibility with UTF8 Firebird databases, but it is known and there is also fix for this.
You can check my unicode FAQ (in russian, sorry) for the code of TIBXSQLVAR.GetCharsetSize near the end of FAQ.

Lars D said...

Dmitry, what is the URL? I found http://www.ibase.ru/ibfaq.htm but I didn't find it on that page.

Cesar Romero said...

@Uranis:
Is not Embarcadero who isnt supports IBX + Firebird, is the IBX author who declared 9 years ago "IBX will never support Firebird".

Warren said...

What is Jeff Overcash's damage?

W

Kyle A. Miller said...

@Warren, no kidding. Jeff has something personal against Firebird. Jeff, get over it!

Aleksey Timohin said...

Lars D:
here is the link to IBX + Firebird UTF8 problem. In Russian. English translation with google (last 2 questions)

Aleksey Timohin said...

We had old applications built with BDE. One of them were converted to IBX.
But, then we bought FIBPlus, and migrated from BDE to FIbPlus.
Main reason, that we wanted to get most from Firebird's features (so direct components for DB access allow to do more, than universal).
IBX's are stuck unchanged for last several years, but FIBs are moving forward and have very nice features, like separate transactions in one Dataset for Read and Update actions.

Lars D said...

Thanks, Aleksey.

Chau Chee Yang said...

Visit here: http://sites.google.com/site/dbxfirebird/

jchua said...

After changed IBSQL, what next ? Do I have to compile package ? withch Package I have to compile ?