1

I have an application that uses Firebird as its database. Now I would like to use the embedded version (of Firebird) for a temporary storage.

Is it possible use a alternative client library only for a particular IBDatabase component? I didn't find a property to change the name of the client library

Marco Andreolli
  • 316
  • 5
  • 19
  • 1
    IBX comes with sources, you might clone low-level IBX units, rename them, change `gds32` for `fbclient` string literal and try using. It would be probably only compatible with IB6/FB1 features. But many legacy projects keep internally extended IBX-FB engines (they can not be legalyl published) and there is nice IBX-FB-Utils library by Dmitry Loginov. FIB+ is very complex librrary - lots of funcitonality, but also lots of way to shoot one's own foot and also bugs. Also you can no more purchase it, so it is added legal risk to use it. There is some IBX2 project around FPC i know nothing but name – Arioch 'The Nov 07 '20 at 12:47
  • 1
    Personalyl i prefer UIB library, intentionally thin FLOSS library with little overhead and little added functionality. I'd think it may have even slightly less functionality than IBX. And it has little compatibility with `TDataSet` family, which since 1996 became quite a bloatware itself. However after Embarcadero fallen out with Henri that lib is but abandoned, and i had to patch it to make scripts executive know about new SQL command like MERGE. And then there is Jason's IBObjects commercial lib, which seems still mantained. – Arioch 'The Nov 07 '20 at 12:50
  • 1
    Also, since you say Delphi then you have both dbExpress and (in new versions) AnyDAC/FireDAC onboard. All options have cons and pros, with no one size fit all solution. You have to choose your own poison. Since i personalyl stauck with XE2 i prefer dbX for "general" application and UIB for small FB-centered utils. Then, UniDAC/IBDAC – Arioch 'The Nov 07 '20 at 12:52
  • @Arioch'The I maintain a old project write in delphi 2007; in this version there isn't source of IBX component. I try with IBX-FB-Utils but many file have russian char and I have some problem. I also try with UIB Library but I have dependency-hell problem with SynEdit... – Marco Andreolli Nov 09 '20 at 08:59
  • Maybe you have some low edition ? because IBX sources were in Delphi 5 (1999) and Delphi XE2, i do not have BDS2006 at hands to check there though. It is kind of strange if they don't have it in D2007. And.... what does SynEdit ever has with any SQL components at all ??? – Arioch 'The Nov 09 '20 at 14:41
  • Anyway, IBX-FB-Utils are comforting add-ons workign on top of IBX, they would not change IBX internals, which is your concern. Basically that is how it is - one day IBX deliberately removed option to change client library file name, without making your own "low-level engine" and boring full responsibility for it. It has merits both commercial and technical. One comfy feature of UIB is `for {record/class} in Query do...` loops, but i don't remember if it works on pre-generic Delphi. if it does, then you can clone that function to any TDataset-like library, just avoid virtual functions – Arioch 'The Nov 09 '20 at 14:44

1 Answers1

3

IBDatabase works only with the gds32 library, since it's intended to be used only with InterBase, not Firebird.

You will have to switch to another set of components, you could use FIBPlus that now is open source; with the FIBDatabase component you can specify the dll library that you want to use in your application.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
Cesar
  • 500
  • 5
  • 12
  • Hi, I always use IBX component with Firebird, I don't know fibplus; I will try... Are those much better? – Marco Andreolli Nov 06 '20 at 18:04
  • 1
    I do think fibplus is better than IBX, for example it allows you to have two transactions assigned in your queries, one for viewing and the other for updates, so when you commit the update transaction you don't have to re open your "select" queries. – Cesar Nov 06 '20 at 19:11
  • @Cesar i think "eternal read-only transaction" mode was falling out of favor last years :-) But it surely was a buzz word decade ago - before people were hit by blobs handles leak :-) – Arioch 'The Nov 07 '20 at 12:40
  • Also, was FIBPlus officially opened? As far as i know it is "abandonware", the copiright holders just abandoned business and license owners keep exchangiong patches like Apache users back then. The madorin's github repo was created for easying that exchange, but... Buzadgy or someone who maybe would buy out DevRace from him AFAIK can always hit it down with DMCA. The repo description is clear about this state of affairs. – Arioch 'The Nov 07 '20 at 12:44
  • There is a long talk in Russian about FIB+. Some FB Core devs are there too. I did not see there any mention of relicensing this commercial FIBC fork into any free license. https://www.sql.ru/forum/955845-27/a-chto-proekt-devrace-fibplus-uzhe-umer – Arioch 'The Nov 07 '20 at 12:57