Subject Re: [firebird-support] Embedding 3.x into a Windwos/Mac .NET Application
Author Helen Borrie
Thursday, June 2, 2016, 11:10:15 PM, Dominque Louis wrote:

> I'm trying to find information about embedding the latest 3.x
> release into my Desktop Application on Windows and Mac. I plan to use C#/.NET.


> I found http://www.firebirdsql.org/manual/ufb-cs-embedded.html, but
> was unable to find fbembed.dll any any of the zip files or
> installations for 3.x, so am unsure if this documentation is up to date or not.

Under the new unified engine there is no separate library for
embedded. For Windows, just use the .zip file and decompress it where
you want to use it. In the new architecture, your connection string
just has to be "serverless" and your application, located in the same
root, will make an embedded connection (if it can) through the
fbclient.dll that is already there. The client will know from the
serverless path to plug in the Engine12 provider, located in the
\plugins\ sub-directory.

You can weed out anything you don't need from the root folder and the
sub-folders...you won't need firebird.exe, for example.

> Can anyone provide links or information about best practises with the above in mind?

All the same rules, restrictions and minimum requirements apply as
before. On Windows, you won't need the security database, so Firebird
doesn't require a password in your connection structure (although your
application might require you to enter one: from Firebird's p.o.v., it
can be anything at all).
You *will* need a user name (and possibly a role) if your database has
user privileges installed.

On MacOSX and other POSIX, as far as I know, it hasn't changed much,
except that the Engine12 provider plug-ins that are installed must be
present and the client library is libfbclient.so (or probably .dylib
on MacOSX). You still install the Classic kit and use the "serverless"
path to connect, as before. Though I haven't tested a recent POSIX
kit, I think you might still need to enable authentication if the
logged-in [system] user is not the same as the user for which the
required SQL privileges are defined. Hopefully someone will step in
and correct me if I'm wrong about this.

Be aware (as you will be, if you studied the release notes) that
aliases.conf is called databases.conf in Fb 3 and in future.

Helen