.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "FirebirdEmbedded 3pm" .TH FirebirdEmbedded 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME DBD::FirebirdEmbedded \- embedded Firebird server (and client) .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use DBI; \& \& $dbh = DBI\->connect("dbi:FirebirdEmbedded:db=$dbname", undef, undef); \& \& # See the DBI module documentation for full details .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBDBD::FirebirdEmbedded\fR is a variant of DBD::Firebird, linked with the Firebird embedded library, \fIlibfbembed\fR. In addition to the ability to work with remote Firebird servers (which DBD::FirebirdEmbedded has, being linked with the Firebird client library, \fIlibfbclient\fR), DBD::FirebirdEmbedded can be used to work with Firebird databases without the need of a dedicated Firebird server. .PP The following things should be set up first: .IP Username/password 4 .IX Item "Username/password" These should be unset. Both in the \f(CW\*(C`DBI\->connection(...)\*(C'\fR call and in the environment (\f(CW\*(C`ISC_USER\*(C'\fR, \f(CW\*(C`ISC_PASSWORD\*(C'\fR, \f(CW\*(C`DBI_USER\*(C'\fR, \f(CW\*(C`DBI_PASSWORD\*(C'\fR variables). .IP "Firebird lock directory" 4 .IX Item "Firebird lock directory" The \f(CW\*(C`FIREBIRD_LOCK\*(C'\fR environment variable should be set to some place where the process can write. Note that if you plan for several processes to access the database file directly, they all should have \f(CW\*(C`FIREBIRD_LOCK\*(C'\fR set to the same directory, or else database corruption will occur. .ie n .IP "No ""host"" in the DSN" 4 .el .IP "No \f(CWhost\fR in the DSN" 4 .IX Item "No host in the DSN" Obviously, do not set any host when calling \f(CW\*(C`DBI\->connection(...)\*(C'\fR, not even \f(CW\*(C`localhost\*(C'\fR. .IP "Permissions to read/write the database" 4 .IX Item "Permissions to read/write the database" Obviously, the process needs to be able to read/write the database file. .SH "COMPARISON WITH DBD::FIREBIRD" .IX Header "COMPARISON WITH DBD::FIREBIRD" DBD::FirebirdEmbedded provides exactly the same functionality as the Firebird server of the same version as the \fIlibfbembed\fR library. It still can work with remote datases, in which case the use is exactly the same (DSN, environment) as with the regular DBD::Firebird. .SS Pros .IX Subsection "Pros" .IP "Standalone work with Firebird databases" 4 .IX Item "Standalone work with Firebird databases" No need to setup/administer a Firebird server. All the server functionality is available via the \fIlibfbembed\fR library. Shared access to databases is still possible (but read "Firebird lock directory" above). .IP "No network latency" 4 .IX Item "No network latency" Working directly with the database file eliminates possible network delays (even if the server is on the local host). .SS Cons .IX Subsection "Cons" .IP "Memory footprint" 4 .IX Item "Memory footprint" The \fIlibfbembed\fR library contains a fully functional Firebird server and is therefore bigger than the ordinary client library, \fIlibfbclient\fR. .IP "Setup complexity" 4 .IX Item "Setup complexity" It is very important to make sure that all processes that access a given database use the same lock directory. See "Firebird lock directory" above. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP DBD::Firebird 4 .IX Item "DBD::Firebird"