0

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?

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
mad
  • 1,029
  • 3
  • 17
  • 38
  • 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 Dec 16 '14 at 08:57
  • Ok, Thanks. You can make you answer as a post. I will check it. – mad Dec 16 '14 at 09:06
  • @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 Dec 16 '14 at 13:08

1 Answers1

3

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.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197