0
votes

I have next specific situation. I have an application using Firebird embedded server. The files: application executive, database, fbembed.dll are located in the same folder. Everything is good and working good.

Now my client says so:

I would like to place all your application file on a server and run it via local network from all workstations.

So as I see I start application on the server and it starts. But database connection string looks now like:

//SERVER/share/db.fdb

Yes, I know conventions about allowed firebird paths from here: FAQ: What's a connection string?

I do not understand what should I use with embedded server? Is it possible at all?

1
AFAIK embedded Firebird is not designed for anything else than single user mode; using it from a shared directory by multiple clients simultaneously will most probably lead to some unexpected results. - Ondrej Kelle
Ok, Thanks. You can make you answer as a post. I will check it. - mad
@TOndrej That changed with Firebird 2.5 (on Windows), on Linux embedded has always behaved as a sort of local Classic Server instance. But that still only means shared database on a local machine, not across the network. - Mark Rotteveel
Thanks for clarification, @MarkRotteveel. - Ondrej Kelle

1 Answers

3
votes

If you want to access a Firebird database over the network, then you need to install Firebird server and connect through the server. You can't (at least not by default) access a database from a network path, and you really shouldn't (although there is a config option to allow it), as it can lead to database corruption due to insufficient or incorrect filelocking support over the network.

So: Don't use Firebird embedded, but install Firebird server and configure the clients to connect to Firebird server.