Subject Re: [firebird-support] FDB networking
Author Kjell Rilbe
Den 2012-03-15 20:40 skrev Marc Gilels såhär:
> Thank you very much for the productive reply. We are using a 3rd party
> software written for our
> application. We have that 3rd party software installed on our server,
> and in the offices that need to
> "View " the database.....Our 3rd party software is installed in the
> offices that "view " the database.
> With that said, both the server and the stations that VIEW have
> firebird installed....Not notepad or Access.

The "stations" (in other words, "the clients") do not need to have
Firebird server software installed. They only need the client, fbclient.dll.

Only the server needs the Firebird server installed.

This is how it works:

You put the database file, e.g. MyDatabase.fdb, on a server machine and
make sure it can not be accessed from the network or any clients in any
way whatsoever.

Install Firebird server on the server machine. Configure the server to
run under a suitable user account as a service or whatever suits you,
and make sure the Firebird server process has read/write access to the
database file. The Firebird server process and the database file MUST be
located on the same machine and the database file MUST be located on a
local disk. For example, put the database in
C:\MyDatabases\MyDatabase.fdb and configure the Firebird server to be
able to access only the folder C:\MyDatabases (see firebird.conf in the
Firebird server installation folder).

Now, use isql (included with Firebird server) or any SQL console of your
choice (FlameRobin?) locally on the server to make sure the server can
successfully access (connect to) the database file. Specify that you
want to connect to C:\MyDatabases\MyDatabase.fdb, yes, a simple local path.

When that works it's time to make sure you can connect from a client

First, you need to make sure both client and server allows traffic on
port 3050 (unless you've actively configured the Firebird server to use
a different port). Check firewall settings.

Now, install FlameRobin or a similar tool on the client machine. If your
server machine is named MYDBSERVER you should now tell your client
software (e.g. FlameRobin) to connect to
MYDBSERVER:C:\MyDatabases\Mydatabase.fdb. Some tools request you to
enter the host name in one input field and the database file's path in
another one. FlameRobin does.

If you can now connect and execute queries, you know that the firewall
settings are alright, and there's no other stuff blocking your way.

Now, finally install you third party app on the client machine and
configure it to connect to MYDBSERVER:C:\MyDatabases\MyDatabase.fdb or
whatever path you require.

UNLESS your third party software is actually using an EMBEDDED Firebird
database, and it assumes that each installation, each client machine,
has its own separate database file. In that case you should NOT, repeat
NOT, try to configure it to access a single database file located on a
server and accessible via a network share. IT WILL NOT WORK. Instead,
check with the supplier/developer if it even supports a shared database,
i.e. will it work even if multiple clients are connected to the same
database? Does it handle concurrency, update conflicts etc? If it does,
then you should also be able to configure it as above: tell it to
connect to MYDBSERVER:C:\MyDatabases\MyDatabase.fdb (or whatever).

Hope this clears things up for you. If you already knew all of it, I
apologize... It just didn't appear to be that way from reading your posts.


Kjell Rilbe
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64

[Non-text portions of this message have been removed]