Subject Re: Embedded Firebird 2.0.1 on Windows 2003 Terminal server
Author Adam
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@...> wrote:
>
> At 09:22 AM 13/04/2007, you wrote:
>
> > > > # ----------------------------
> > > > # Local Connection Settings
> > > > #
> > > > # The name of the shared memory area used as a transport
channel in
> > > > local protocol.
> > > > # Note that the local protocol in v2.0 is not compatible with any
> > > > previous version
> > > > # if Firebird or InterBase.
> > > > #
> > > > # IMPORTANT! If your host OS is Windows 2003 or Windows XP
with the
> > > terminal
> > > > # services enabled and you need the local connection to work, you
> > > should prefix
> > > > # the below value with "Global\", i.e. it should be
> > > > "Global\FIREBIRD". Please note
> > > > # that the prefix is case-sensitive.
> > > > #
> > > > # Type: string
> > > > #
> > > > #IpcName = FIREBIRD
> >
> >Out of curiosity,
> >
> >Is there any reason it is not set this way by default? Does it cause
> >compatibility problems or performance bottlenecks etc when used on
> >Windows boxes without terminal services?
>
> As far as I can tell from the current thread on firebird-devel, it
> can't be the default because the feature isn't available in Windoze
> prior to Win2K. Track through the thread yourself and see if you
> come to some alternative conclusion. [which is entirely possible :-)
> ] Anyway, it looks as though DY thinks we're going to need a v.2.0.2
> to tidy up this area for Vista....which might mean it can be made a
> bit more transparent for the rest as well....

I have just read the thread in question, and yes, I would agree with
the conclusions of VH and DY. It looks like we will need a 2.0.2 to
get Vista sorted.

We have in our applications the following code (Delphi) to discover
whether we are inside a terminal services session.

function RunningOnTerminalServices : Boolean;
const
sm_RemoteSession = $1000; { from WinUser.h }
begin
Result := GetSystemMetrics(sm_RemoteSession) <> 0;
end;

If it returns true, we simply prepend 'localhost:' to the database
path. The embedded library happily works as a standard client.
Obviously requires a full server to be installed on the box, but it
makes it pretty painless if you need to support both in the interim.

Adam