8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 14:43:03 +01:00
firebird-mirror/doc/README.user.embedded

104 lines
3.4 KiB
Plaintext
Raw Permalink Normal View History

2003-05-05 12:32:29 +02:00
-----------------------------------------------------------
2010-09-30 10:09:12 +02:00
Firebird 3.0 Embedded Server notes
2003-05-05 12:32:29 +02:00
-----------------------------------------------------------
1. GENERIC INFORMATION
The embedded server is a fully functional server linked
as a dynamic library (fbembed.dll). It has exactly the
same features as the usual server and exports the
standard Firebird API entrypoints.
2. ISSUES AND LIMITATIONS
2.1. Registry
The Firebird registry entries are ignored. The root
directory of the embedded server is the directory of
its binary file (library).
2.2. Database access
2005-03-14 19:08:23 +01:00
Client access can be only via the local protocol,
i.e. NOT a TCP/IP connection string that includes
the server name "localhost" or IP address 127.0.0.1.
2009-10-13 07:45:07 +02:00
The embedded server supports only the local connection
2009-10-12 08:58:37 +02:00
to a database file path without a server name.
The database file can be accessed by multiple client
programs. The database consistency in this case is
guaranteed internally (by the shared lock table).
2005-03-14 19:08:23 +01:00
The embedded server acts as a true local server for a single
2009-10-12 08:58:37 +02:00
client accessing databases on a local machine. It can also
2005-03-14 19:08:23 +01:00
act as a remote gateway that redirects all network calls to
2009-10-12 08:58:37 +02:00
other hosts, just as the regular client library does.
2003-05-05 12:32:29 +02:00
2.3. Authentication and security
The security database (namely security2.fdb) is not used
2003-05-05 12:32:29 +02:00
in the embedded server and hence is not required. Any
user is able to attach to any database. Since both
the server and the client run in the same address space,
the security becomes just an agreement between both
sides which can be easily compromised.
But note that SQL privileges are still checked.
2.4. Compatibility
You may run any number of applications with the embedded
server without any conflicts. Having IB/FB server running
is not a problem either.
3. USAGE
Just copy fbembed.dll, icudt30.dll, icuin30.dll and
icuuc30.dll into the directory with your application.
Then rename fbembed.dll to either fbclient.dll or
2003-05-05 12:32:29 +02:00
gds32.dll depending on your database connectivity software.
Then start your application and it will use the embedded
server as a client library and will be able to access
local datasases. You should also copy firebird.msg and
firebird.conf (if necessary) to the same directory.
If external libraries are required for your application,
then you should have them separately. Most probably, it
will be INTL support (fbintl.dll and fbintl.conf) or UDF
libraries. To be able to use them, you should place them
into the directory tree which emulates the Firebird server
one, i.e. has subdirectories like /intl or /udf:
2003-11-09 11:41:05 +01:00
c:\my_app\app.exe
c:\my_app\gds32.dll
c:\my_app\ib_util.dll
c:\my_app\icudt30.dll
c:\my_app\icuin30.dll
c:\my_app\icuuc30.dll
2003-11-09 11:41:05 +01:00
c:\my_app\firebird.conf
c:\my_app\firebird.msg
c:\my_app\intl\fbintl.dll
c:\my_app\intl\fbintl.conf
2003-11-09 11:41:05 +01:00
c:\my_app\udf\fbudf.dll
If you want to place the Firebird files (excluding the
renamed fbembed.dll) in another directory, you need to
modify your firebird.conf and set RootDirectory to the
Firebird directory tree. Example:
c:\my_app\app.exe
c:\my_app\gds32.dll
c:\my_app\ib_util.dll
c:\my_app\icudt30.dll
c:\my_app\icuin30.dll
c:\my_app\icuuc30.dll
2003-11-09 11:41:05 +01:00
c:\my_app\firebird.conf
d:\fb\firebird.msg
d:\fb\intl\fbintl.dll
c:\fb\intl\fbintl.conf
2003-11-09 11:41:05 +01:00
d:\fb\udf\fbudf.dll
2003-05-05 12:32:29 +02:00
firebird.conf:
2003-11-09 11:41:05 +01:00
RootDirectory = d:\fb