Subject Re: [firebird-python] embedded firebird from fdb
Author Hamish Moffatt
On 06/05/14 22:56, Pavel Cisar wrote:
 

Hi,

> Curiously we have a libfbembed2.5 package on Debian though?

I see. The problem is Debian packaging which is different (customized to
fit Debian standards and ideas) than stock Firebird. It's possible that
there is special Debian package for embedded Firebird (I suspect they
compiled client library for SuperServer that can't use libfbembed.so -
classic engine - directly). I don't use Debian, so I can't give you
better answer. But I can assure you that it works as I said (at least on
openSuSE and/or with standard Firebird distribution packages). In stock
Classic package you have libfbclient that talks to network or loads
libfbembed directly, libfbembed (the engine) and fb_inet_server that
wraps libfbembed for xinetd or other such daemon.

Ah, ok. So I modified fdb to try libfbembed first, as in

    fb_library_name = find_library('fbembed') or find_library('fbclient')

in ibase.py. Now when I connect, I get

fdb.fbcore.DatabaseError: ("Error while connecting to database:\n- SQLCODE: -901\n- Can't access lock files' directory /tmp/firebird", -901, 335544382)

While not successful, that's at least the same as what I get when I try to use isql to connect directly to a db too,

$ isql-fb /tmp/hamish.fdb
Statement failed, SQLSTATE = HY000
Can't access lock files' directory /tmp/firebird
Use CONNECT or CREATE DATABASE to specify a database
SQL>


So, progress. Will you consider supporting a change in fdb to support Debian's packaging?


Hamish