mariuz / flamerobin

FlameRobin is a database administration tool for Firebird RDBMS. Our goal is to build a tool that is: lightweight (small footprint, fast execution) cross-platform (Linux, Windows, Mac OS X, FreeBSD) dependent only on other Open Source software
http://flamerobin.org
MIT License
211 stars 64 forks source link

Support for Firebird 1.0.3 #370

Closed Wolf-SO closed 3 months ago

Wolf-SO commented 4 months ago

I know that Firebird version 1.0.3 is ancient and that it is no longer supported by the FB team.

Nonetheless, it was supported by FlameRobin 0.9.2.1851; today when I upgraded to 0.9.10 (32bit), I found out that this is no longer the case.

When I try to open a database, I get this error

Unhandled Error in FlameRobin

IBPP::LogicException Context: FBCLIENT:gds() Message: Entry-point fb_interpret not found

My server registration is: server=localhost, port=(empty), I also tried server=localhost, port=3050

I did not find explicit information about end of support in the release notes. The blog entry for FR 0.9.3.12 made me read PR #261 which describes how to configure the client library. If I place the path to my gds32.dll here, nothing changes about above error message.

I know this is a low priority issue, but maybe it's just a small oversight that can be easily fixed?

In the hope that I don't have to do an interval search across all versions between 0.9.2 and 0.9.10:

Many thanks in advance for your help.

mariuz commented 3 months ago

As your comment indicates Firebird 1.5 was installed: the fb_interpret function was added in Firebird 2, you will need to install the client library of a newer Firebird version (for example Firebird 3).

https://stackoverflow.com/questions/20300046/fdb-driver-firebird-with-function-fb-interpret-not-found

Wolf-SO commented 1 month ago

@mariuz Now it's clear that my issue might be considered “invalid” or “off-topic” (even though it wasn't "completed" for me at all). I found your reaction a very indirect way to express, what's actually required to use FlameRobin with older Firebird servers. It didn't help me at first. So I again read the information in http://flamerobin.org/ to find out that you have to provide libfbclient to build FlameRobin in a section about a Linux-only release:

New Flamerobin snapshot for Linux x86-64 only

23 July 2014 New Flamerobin snapshot for Linux x86-64 is released this one was built and static linked with WxWidgets 3.0.1 and boost 1.55 to use it from console type :

tar -xJvf ~/Downloads/flamerobin-0.9.3-ff8df8e-x86_64.tar.xz
sudo mv opt/flamerobin /opt
/opt/flamerobin/bin/flamerobin

libfbclient is required

For you as the developer, this hint might be sufficient, but it isn't for users.

My Solution

I finally solved my problem by configuring the path to a 2.0.7-version fbclient.dll that I picked from the bin directory in the Firebird-2.0.7.13318-0.zip file I downloaded here: Firebird - Browse /firebird-win32/2.0.7-Release at SourceForge.net I used version 2.0.7 as the latest 2.0 version, earlier versions didn't contain the fb_interpret function (which is BTW also not available in the gds32.dll).

Conclusion

Firebird 1.0.3 is supported by FlameRobin as long as the Firebird client lib itself remains compatible with older Firebird servers. The only requirement is that you ensure that an fbclient.dll is available, either because it is in the system path or the path to it is configured in FlameRobin.