1FirebirdEmbedded(3) User Contributed Perl Documentation FirebirdEmbedded(3)
2
3
4
6 DBD::FirebirdEmbedded - embedded Firebird server (and client)
7
9 use DBI;
10
11 $dbh = DBI->connect("dbi:FirebirdEmbedded:db=$dbname", undef, undef);
12
13 # See the DBI module documentation for full details
14
16 DBD::FirebirdEmbedded is a variant of DBD::Firebird, linked with the
17 Firebird embedded library, libfbembed. In addition to the ability to
18 work with remote Firebird servers (which DBD::FirebirdEmbedded has,
19 being linked with the Firebird client library, libfbclient),
20 DBD::FirebirdEmbedded can be used to work with Firebird databases
21 without the need of a dedicated Firebird server.
22
23 The following things should be set up first:
24
25 Username/password
26 These should be unset. Both in the "DBI->connection(...)" call and
27 in the environment ("ISC_USER", "ISC_PASSWORD", "DBI_USER",
28 "DBI_PASSWORD" variables).
29
30 Firebird lock directory
31 The "FIREBIRD_LOCK" environment variable should be set to some
32 place where the process can write. Note that if you plan for
33 several processes to access the database file directly, they all
34 should have "FIREBIRD_LOCK" set to the same directory, or else
35 database corruption will occur.
36
37 No "host" in the DSN
38 Obviously, do not set any host when calling "DBI->connection(...)",
39 not even "localhost".
40
41 Permissions to read/write the database
42 Obviously, the process needs to be able to read/write the database
43 file.
44
46 DBD::FirebirdEmbedded provides exactly the same functionality as the
47 Firebird server of the same version as the libfbembed library. It still
48 can work with remote datases, in which case the use is exactly the same
49 (DSN, environment) as with the regular DBD::Firebird.
50
51 Pros
52 Standalone work with Firebird databases
53 No need to setup/administer a Firebird server. All the server
54 functionality is available via the libfbembed library. Shared
55 access to databases is still possible (but read "Firebird lock
56 directory" above).
57
58 No network latency
59 Working directly with the database file eliminates possible network
60 delays (even if the server is on the local host).
61
62 Cons
63 Memory footprint
64 The libfbembed library contains a fully functional Firebird server
65 and is therefore bigger than the ordinary client library,
66 libfbclient.
67
68 Setup complexity
69 It is very important to make sure that all processes that access a
70 given database use the same lock directory. See "Firebird lock
71 directory" above.
72
74 DBD::Firebird
75
76
77
78perl v5.36.0 2022-07-22 FirebirdEmbedded(3)