Page 1 of 1

ZEOSLIB and Firebird 2.5 embedded - Error 904

Posted: 24.05.2014, 06:48
by haegar
Hello,

I try to connect to a Firebird-DB with Delphi 2010, ZEOS 7.0.4 stable and Firebird 2.5.2 embedded. Using superserver works fine. For embedded server I copied the needed Dlls to the directory of my application and changed connection-settings in Delphi (remove hostname=localhost).
The connection looks like this:

Code: Select all

  object ZConnection1: TZConnection
    ControlsCodePage = cCP_UTF16
    UTF8StringsAsWideField = True
    Properties.Strings = (
      'AutoEncodeStrings=ON'
      'controls_cp=CP_UTF16')
    TransactIsolationLevel = tiReadCommitted
    DesignConnection = True
    AfterConnect = ZConnection1AfterConnect
    SQLHourGlass = True
    Port = 0
    Database = 'D:\Delphi2010\Projekte\BISAM_SQL\Database\BISAM_SQL.FDB'
    User = 'sysdba'
    Password = 'masterkey'
    Protocol = 'firebirdd-2.5'
When I connect to the Database I get the error
SQL Error: unavailable database. Errorcode -904. Unsucessful execution caused by an unavailable resource

After searching hours in Firebird -forums now I try to find any help here :wink:

Thanks!

Re: ZEOSLIB and Firebird 2.5 embedded - Error 904

Posted: 24.05.2014, 09:09
by haegar
Hello,

I have a solution but I don't understand the reason:

In my first try I used the embedded server for 64bit on Windows 7 64bit. That doesn't work.
Now I tried to use the 32bit embedded server and all works fine! :D

So the solution is to use the 32bit embedded server instead of 64bit even than OS is Win7-64bit.

:? It would be nice if anyone can explain that. :?

Re: ZEOSLIB and Firebird 2.5 embedded - Error 904

Posted: 10.10.2014, 05:46
by Sergiomaster
Hello,

I never tried a 64 bits embedded , but should this explaination possible :
D2010 produce a 32 bits application so a 32bits embedded dll is expected ?

for peace of mind , can somebody test this with a 32 bits / 64 bits XE(n) produced program ?

Serge

Re: ZEOSLIB and Firebird 2.5 embedded - Error 904

Posted: 10.10.2014, 09:22
by miab3
@Sergiomaster, @haegar

32-bit application can refer only to the 32-bit libraries and 64-bit to 64-bit.
(Unless you're using a very special tricks).
In contrast, 32-bit application can connect to the server 64-bit and vice versa.

Michal