Subject EVEN MORE Re: [firebird-support] isql, ibconsole on FB Embedded?
Author Helen Borrie
Rob,
I have put you crook, sorry.
Have just set up Embedded on a "clean machine" and here's what I have:

At 10:07 AM 13/09/2003 -0700, you wrote:

>heres how I have our dir structure
>

I have RootDirectory pointing to d:\MyApp1
Here are my paths:

> firebird.conf d:\MyApp1\firebird.conf

>firebird.msg d:\MyApp1\firebird.msg
>fbclient.dll d:\MyApp1\fbclient.dll (one copy of fbembed.dll)
>ib_util.dll d:\MyApp1\ib_util.dll
>gds32.dll d:\MyApp1\gds32.dll (second copy of fbembed.dll)
>testdb.gdb d:\MyApp1\leisurestore.fdb
>myapp.exe d:\MyApp1\ib_sql.exe
>isql.exe d:\MyApp1\isql.exe
>intl/fbintl.dll d:\MyApp1\intl\fbintl.dll
>udf/*.sql,*.dll d:\MyApp1\udf/*.sql,*.dll
>
>Does this all look right?

So, yes, I confirm that this looks right and that you *don't* need a bin
directory. What I suggested would put isql.exe and the other dlls I cited
in the wrong place relative to the embedded server binary :-/

OK. You'll need ibconsole in your equivalent of d:\MyApp1\, minus its own
copy of gd32.dll. This will snafu things because it's the ib6
client. Just rename it to some amorphous like ohdear.dll.

isql works fine in this setup. I refute what I said before: you don't
need the absolute path to the db if it's in the same dir as isql.exe. isql
also connects fine to any other db on the system, using absolute (local)
path. isql wants fbclient.dll, and refuses to do anything with gds32.dll.

I'm using ib_sql.exe as my local app. Although I can compile it to use
fbclient.dll - or, indeed, fbembed.dll - currently I have it compiled to
use gds32.dll, to mimic your situation with ibconsole. Hence, I need
gds32.dll AND fbclient.dll copies of fbembed.dll in order to use both isql
and the app.

So - putting aside my suggestion about absolute path, I can't figure out
why my setup works and yours doesn't. I'm using all exes and dlls as
distributed in the RC6 embedded kit and it works exactly according to the
readme.

I just wonder whether perhaps you tried to run isql while you already had
your app attached to the database. That *won't* work - two instances won't
be able to connect to the same db concurrently, because the first instance
puts an exclusive lock on the db file.

I won't harass Dmitry about this after all. :-) I already answered my own
questions. And I hope you got to THIS message before you wasted time on my
two previous ones.

heLen