Subject Re: [firebird-support] Firebird database access from ISAPI dll application
Author Olivier Mascia

On Mon, 5 Jan 2004 18:25:27 -0300,
Horacio Jamilis wrote :

> I am trying without success to connect to a database with the
> "local" protocol (in fact without protocol), in an ISAPI dll
> application without success.

Normal. Read on.

> If I append "localhost:" to the begining of the database connection
> string the application works properly but I want to use it with the
> firebird embedded (because I don't want to install firebird in that
> server), and it does not support tcp/ip connections.

Your ISAPI application runs inside an IIS process. That process (a
service) runs under a specific user account. A service running under a
specific user account can't be "interactive". It runs in a "Windows
Station" distinct from the default one. No communication based on
Windows handles can happen between processes running in distinct
Windows Stations. The FB 1.x LOCAL protocol is based on that and can't
work in such a configuration.

If using the full server, you then *have to* use tcp/ip loopback using
localhost as the local protocol won't work. You might also experiment
by running the full FB server under the very same account as your IIS
processes are running under. In such a case, theorically, you *might*
be able to use local protocol. But I fear some other things might get
in the way.

Using the FB 1.x LOCAL protocol for a possibly multi-threaded client
(holding multiple simultaneous connections) is anyway a bad idea.
tcp/ip loopback would be preferred.

Now, if you use the fbembed version, my understanding is that it
should work (did you tried ? - you did not clearly mentionned that you
really tried - I think you're testing with a full server using local
protocol, expecting to distribute later using fbembed).

But isn't the fbembed solution limited to a single exclusive
attachment to the DB ? Won't this pose a big issue to your naturally
multi-user ISAPI dll ?

Best Regards,
Olivier Mascia