Subject Re: [firebird-support] Tools for stand-alone databases
Author Helen Borrie
At 07:59 AM 20/08/2005 -0400, you wrote:
>We have a case where we wanted to develop the dedicated (stand-alone)
>use of a single database from a Windows service. We installed the
>stand-alone Firebird engine and the Firebird .Net Data Provideer
>for .Net 1.1 and we figured out how to create and connect to the
>database and how to create the schema, populate tables and query
>data. Cool.
>1. I am very new to Firebird (less than 4 days), but it seems
>incredibly difficult to find any documentation on how to do simple
>things, like format the connection string. Information is scattered
>all over the place, and I finally found most of my answers indirectly
>in newsgroup entries while researching other issues.

It seems pretty obvious from your various questions and observations that
one place you haven't been is the Novices' Guide (and associated resources)
at the FIREBIRD WEBSITE. Every posting to this list has the links in its

Kick off your experience with the Quick Start Guide.

>2. Support for stand-alone databases is extremely sparse, or perhaps
>I so not know where to look.

Stand-alone databases? Firebird databases can't "stand alone", if you want
to access them at all. There is a server to manage databases and a client
to access the server by way of requests.

Are you asking about the Windows "embedded server" model? Where you load a
DLL from your application, that contains both the client and a server
instance? If yes, then it's not more or less sparsely documented than
anything else. The embedded server is the Superserver, without user
authentication or the ability to be accessed remotely. Directory structure
matters and is documented in the Firebird 1.5 release notes.

>3. Is there any way to get some of the tools out there to work with
>stand-alone databases? I have downloaded a few, but they all seem to
>demand that I am running a Firebird server.

If you have fbembed.dll in the same directory as the tool - appropriately
renamed, if the tool requires it - then your tool connects to a server as
soon as it loads this DLL. If there's a "Server" field in the tool's
connection dialog, leave it blank. All you need is the absolute path to
the database file. You

>4. On the same note, can I install the Firebird server and have it
>communicate with my stand-alone database as well? Obviously I would
>not want the server and my service attempting to access the same
>database concurrently, but...

Yes. Actually, Classic would be a good bet if you want to have this ability.

>5. Are there any command line tools that I can use with the stand-
>alone database? Do I have to do anything special to install them?

No special tools - just the ones that come with the full servers. If
you're not planning to install a networked server, download the zip kit and
just extract what you need. As they are executables, they need to be in the
same location as other executables that load the embedded
server-client. As with other tools and your own applications, when they
load the client (fbembed.dll renamed to fbclient.dll) they will also attach
to the embedded server. Note also that any executables in this model,
including the command-line tools, run in your OS user application space.

>6. I know that Firebird has a history from another product
>(Interbase?), but all of the constant cross-references get confusing
>real fast! When does one know that an IB feature/function also
>applies in FB and when FB differs from IB?

Straight evolution - five years of it and lots of guff. Start with the IB
6 beta docs, then the Firebird 1.0 release notes, then the Firebird 1.5
release notes, then the Fb 1.5.n sub-release notes, in order.

Or buy The Firebird Book.