Firebird 2.5 Embedded on Linux

0 views
Skip to first unread message

Andy Rozman

unread,
Mar 16, 2024, 4:42:16 AMMar 16
to firebird-java
Hi !
So I am trying to get FB 2.5 Embedded working on Linux. I know that 2.5 is no longer supported, but I need to open FDB that was created with 2.5, and I can't upgrade that file to higher version, because it is used by application that supports it only in that format.

After some fight with different versions of FB, I did get it running, but for some reason I am suspecting that it doesn't work correctly (embeded mode), because it tried to connect to FB through localhost (I don't have FB installed on my Linux computer).

So error I get is: Unable to complete network request to host "localhost".; Failed to establish a connection. [SQLState:08006, ISC error code:335544721]

My SQL URL is jdbc:firebirdsql:embedded:" + getDatabasePath() + "?charSet=" + getCharset()

to get all binaries I copied them from FB 2.5 installer file. Do I need to add some specific configuration there, to switch it to embedded mode? 

This are the files (some are links) in my fb_binary folder:

libfbembed.so
libfbembed.so.2.5
libfbembed.so.2.5.9
libfbclient.so
libfbclient.so.2
libfbclient.so.2.5.9
libicuuc.so
libicuuc.so.30
libicuuc.so.30.0
libicui18n.so
libicui18n.so.30
libicui18n.so.30.0
libicudata.so
libicudata.so.30
libicudata.so.30.0
libib_util.so
intl/fbintl
intl/fbintl.conf

Am I doing some wrong? 

Andy

Mark Rotteveel

unread,
Mar 16, 2024, 4:51:56 AMMar 16
to firebi...@googlegroups.com
On 15/03/2024 19:22, Andy Rozman wrote:
> So I am trying to get FB 2.5 Embedded working on Linux. I know that 2.5
> is no longer supported, but I need to open FDB that was created with
> 2.5, and I can't upgrade that file to higher version, because it is used
> by application that supports it only in that format.
>
> After some fight with different versions of FB, I did get it running,
> but for some reason I am suspecting that it doesn't work correctly
> (embeded mode), because it tried to connect to FB through localhost (I
> don't have FB installed on my Linux computer).
>
> So error I get is: Unable to complete network request to host
> "localhost".; Failed to establish a connection. [SQLState:08006, ISC
> error code:335544721]

There are two possibilities:
1. The exception is generated by Jaybird, so you should inspect the full
exception stacktrace for the underlying cause, if there is one
2. The Firebird client library (libfbembed/libfbclient) falls back to a
localhost connection if can't use embedded mode. This could also mean
that you're using a different libfbclient than you intend to use.

> My SQL URL is jdbc:firebirdsql:embedded:" + getDatabasePath() +
> "?charSet=" + getCharset()
>
> to get all binaries I copied them from FB 2.5 installer file. Do I need
> to add some specific configuration there, to switch it to embedded mode?
>
> This are the files (some are links) in my fb_binary folder:
>
> libfbembed.so
> libfbembed.so.2.5
> libfbembed.so.2.5.9
> libfbclient.so
> libfbclient.so.2
> libfbclient.so.2.5.9
> libicuuc.so
> libicuuc.so.30
> libicuuc.so.30.0
> libicui18n.so
> libicui18n.so.30
> libicui18n.so.30.0
> libicudata.so
> libicudata.so.30
> libicudata.so.30.0
> libib_util.so
> intl/fbintl
> intl/fbintl.conf
>
> Am I doing some wrong?

As far as I'm aware, on Linux, you really need to have Firebird
installed to be able to use it to connect using Embedded.

You may also need to configure the Java system property jna.library.path
to point to the directory containing libfbembed.so for it to load (IIRC,
on Linux, it will not search the application directory by default, but I
may be mistaken in that).

That said, I'm wondering: you say that you can't upgrade the database
file because it is used by another application. Does that application
use Firebird embedded as well? If not, why don't you just connect
through its server? Also, is it running on the same machine?

Mark

--
Mark Rotteveel

Reply all
Reply to author
Forward
0 new messages