The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Firebird DB questions

We are currently migrating from an Access back-end to Firebird. A couple of quick questions for the Firebird proficient.

1. The majority of our users are single users on a single computer, we do have a few who place the access mdb file on a server. By default should we install Firebird as a server or use the embedded version?

2. What is the preferred GUI admin tool for Firebird?

3. Can we easily enable the user to select between embedded or server based DB from within the program?

Any input is appreciated.
Thursday, October 25, 2007
1. the embedded server will only allow one person to access the database at a time. you said the majority are single users on single database, so i would go with embedded

2. there are two main options (that i know of) flame robin (free), ibexpert (not-free), ibexpert is excellent, and well worth the money, but if you need to bundle something on each clients site then flamerobin is the way to go

3. bit hard to answer your last question as it comes down to you. if you have a server installed and running then it could be a matter of changing an connection string or config setting to switch databases. there is no reason why this can't be done, depends on how much effort you want to put into your application.

remember if you install the database on a server somewhere, you will need to open ports in firewalls to allow access through the network, etc. not quite a simple as putting an access database on a fileshare.

also keep in mind how you will be doing backups. a running  database server needs to do a hotbackup, you can no longer just copy the fdb file (unless you turn the db server off first). have a look at gbak cmdline, or if you are using jdbc, it can be done through the jaybird libaries programatically as well, which is a nice option

on a side note
i have used firebird on a number of projects and never struck any issues with it, plus the download size is good in comparison to some of the competition
Thursday, October 25, 2007

I'm using Firebird database for my time tracking application.  I have the same reply as the previous poster in terms of what tool to use to manage the databases.

With your query of being able to change databases, it can be done. I have implemented it in the multiuser version of the time tracking application. What you can do is to have a program option which the user can use to set to select the local database or network database. In your application, use the value of the option to use the appropriate connection string. The only thing you have to remember is to rename one of the dlls because both the embedded and network versions use the same name for the dll, fbclient.dll. I got around this by renaming the dlls to fbclientlocal.dll and the other one fbclientnetwork.dll. In my application, I create the sqlconnection in code rather than using the component directly. You want more information send me an email to pflores at pcfworks dot com.
Phillip Flores Send private email
Thursday, October 25, 2007
Hi. I use FireBird in some of may projecs. In my experience installing the Server version for desktop use only works quite well. If you want to keep the option to switch rapidly this could be a quick solution.
Friday, October 26, 2007
I use Upscene's Database Workbench as my admin tool and it's really good, roughly same level as IBExpert.  I looked at both several years ago when I first purchased DBWorkbench, don't remember hos much difference there was.

You can get fairly complete list of admin tools here:
Herbert Sitz Send private email
Friday, October 26, 2007
I've used Firebird for a number of years now and I've had no problems with it at all.  I also use Upscene's Database Workbench which can also be used to access MSQL, Oracle, MySQL etc - I've found that quite useful.

As to swtching between server and embedded, it's a doddle.      I send out demos using the embedded version and install the full server for customers.  You could easily change connection (server\embedded) on the fly if you wish.

Embedded only allows access from one program, but you can have many connections (different threads for example) from that program.  Once connected, your app shouldn't care which version it's connecting to.
Orson Kart
Saturday, October 27, 2007
I also have to say all the best for Firebird. I am using EMS Manager (, the free version. I haven't updated it for awhile, my version is old at least 2 years but they still offer a Lite version and I guess it is as good as it was, if not better.
Goran Burcevski Send private email
Saturday, October 27, 2007
OK, thank you to everyone who has replied. This will be a gradual migration to the new Firebird backend we have already made a start by getting the Firebird Developers Guide book.

The next questions are: Superserver or Classic?
Which would you recommend and why?

We want to be able to install the server component without any permission problems on Vista, XP, Win200 etc. From what I have read, Firebird server will run without problems on these operating systems but what about installation?
Sunday, October 28, 2007
About Classic or Superserver, this this link may help:
Karsten Send private email
Thursday, November 22, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz