Subject Re: [firebird-support] Identifying whether client library is embedded or normal
Author Nando Dessena
Adam,

A> The local connection used in Firebird does not work with Terminal
A> Services.

Correct - partly. If the Firebird Server is running in the same Window
Station (read "terminal session", in this context) as the client,
local connections will work. Try running fbserver.exe -a before
running your application *from the terminal session* and see. I agree
the point is moot anyway - nobody is going to use a database server
this way. ;-)

P.S. I don't know about Firebird 2's XNET replacement for the local
protocol, but it might well work across window stations.

A> This means that embedded Firebird can not be used within a
A> Terminal Server session.

Wrong. An embedded connection has nothing to do with a local
connection, although unfortunately they choose the same syntax to
indicate both (please address complaints to Dmitry Y. - I tried years
ago but got no luck - and anyway fbembed is so wonderful that one
could surely stand a few glitches. :-)). An embedded connection, that
consists of in-process function calls, will work in all cases in which
your process works and can find fbembed.dll and its support files.

A> Basically, my delphi application needs to know whether to insert
A> 'localhost:' to the start of the connection string or not.

given what I wrote above, this shouldn't be a requirement anymore. In
any case, if you still need to do it for whatever reason, you might
want to query the OS to know whether you're in a terminal session or
not. I must have some Delphi code (easily translatable to other
languages, as it's a bunch of Win32 API calls) around for that. Let me
know and I'll dig it up for you.

Ciao
--
Nando Dessena
======================================================
I support Firebird, I am a Firebird Foundation member!
Join today at http://www.firebirdsql.org/ff/foundation
======================================================