Subject Re: [firebird-support] Invalid Block Type Encountered
Author Helen Borrie
At 07:57 AM 30/01/2005 -0800, you wrote:

>I wrote a custom application that used the Firebird DSQL library (gds) and
>couldn't connect. I saw these errors in the log:
>
>localhost Thu Jan 20 23:43:20 2005
> Database: /root/fb/data/history.db
> internal gds software consistency check (invalid block type
> encountered (147))
>
>localhost Thu Jan 20 23:45:59 2005
> Database: /root/fb/security.fdb
> internal gds software consistency check (invalid block type
> encountered (147))
>
>After running isql on the database(history.db), thenmy custom application
>could connect to the database again.
>
>Any ideas why? When I ran gfix -verify, nothing was reported to the screen.
You are encountering a mismatch - typically, a lower version of the server
trying to connect to a database with higher on-disk structure (ODS). An
old server will see garbage in the header of a database created with a
higher ODS.

In Firebird 1.5, Isql is OK, because it makes its own internal API calls
and attaches to the server that it "knows about".

Your reference to "gds" makes me suspect that you are trying to run
multiple versions of the database server that don't know about one
another. It sounds like you are running Classic and you have InterBase or
Firebird 1 also listening for connections.

You should also use the correct client for Fb 1.5. It is OK to symlink
your Fb 1.5 client as libgds.so to support an older application, but your
symlinks must point to libfembed.so (Classic only) or libfbclient.so
(Superserver or Classic).

You're not giving a lot away about your installation (platform, server
model). That would help...

./heLen