Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dbd::firebirdembedded(3pm) [debian man page]

FirebirdEmbedded(3pm)					User Contributed Perl Documentation				     FirebirdEmbedded(3pm)

NAME
DBD::FirebirdEmbedded - embedded Firebird server (and client) SYNOPSIS
use DBI; $dbh = DBI->connect("dbi:FirebirdEmbedded:db=$dbname", undef, undef); # See the DBI module documentation for full details DESCRIPTION
DBD::FirebirdEmbedded is a variant of DBD::FirebirdEmbedded, linked with the Firebird embedded library, libfbembed. In addition to the ability to work with remote Firebird servers (which DBD::FirebirdEmbedded has, being linked with the Firebird client library, libfbclient), DBD::FirebirdEmbedded can be used to work with Firebird databases without the need of a dedicated Firebird server. The following things should be set up first: Username/password These should be unset. Both in the "DBI->connection(...)" call and in the environment ("ISC_USER", "ISC_PASSWORD", "DBI_USER", "DBI_PASSWORD" variables). Firebird lock directory The "FIREBIRD_LOCK" 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 "FIREBIRD_LOCK" set to the same directory, or else database corruption will occur. No "host" in the DSN Obviously, do not set any host when calling "DBI->connection(...)", not even "localhost". Permissions to read/write the database Obviously, the process needs to be able to read/write the database file. COMPARISON WITH DBD
::FIREBIRD DBD::FirebirdEmbedded provides exactly the same functionality as the Firebird server of the same version as the libfbembed library. It still can work with remote datases, in which case the use is exactly the same (DSN, environment) as with the regular DBD::FirebirdEmbedded. Pros Standalone work with Firebird databases No need to setup/administer a Firebird server. All the server functionality is available via the libfbembed library. Shared access to databases is still possible (but read "Firebird lock directory" above). No network latency Working directly with the database file elliminates possible network delays (even if the server is on the local host). Cons Memory footprint The libfbembed library contains a fully functional Firebird server and is therefore bigger than the ordinary client library, libfbclient. 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. SEE ALSO
DBD::FirebirdEmbedded perl v5.14.2 2011-11-15 FirebirdEmbedded(3pm)

Check Out this Related Man Page

DBIx::Class::Storage::DBI::InterBase(3pm)		User Contributed Perl Documentation		 DBIx::Class::Storage::DBI::InterBase(3pm)

NAME
DBIx::Class::Storage::DBI::InterBase - Driver for the Firebird RDBMS via DBD::InterBase DESCRIPTION
This driver is a subclass of DBIx::Class::Storage::DBI::Firebird::Common for use with DBD::InterBase, see that driver for general details. You need to use either the disable_sth_caching option or "connect_call_use_softcommit" (see "CAVEATS") for your code to function correctly with this driver. Otherwise you will likely get bizarre error messages such as "no statement executing". The alternative is to use the ODBC driver, which is more suitable for long running processes such as under Catalyst. To turn on DBIx::Class::InflateColumn::DateTime support, see "connect_call_datetime_setup". connect_call_use_softcommit Used as: on_connect_call => 'use_softcommit' In connect_info to set the DBD::InterBase "ib_softcommit" option. You need either this option or "disable_sth_caching => 1" for DBIx::Class code to function correctly (otherwise you may get "no statement executing" errors.) Or use the ODBC driver. The downside of using this option is that your process will NOT see UPDATEs, INSERTs and DELETEs from other processes for already open statements. connect_call_datetime_setup Used as: on_connect_call => 'datetime_setup' In connect_info to set the date and timestamp formats using: $dbh->{ib_time_all} = 'ISO'; See DBD::InterBase for more details. The "TIMESTAMP" data type supports up to 4 digits after the decimal point for second precision. The full precision is used. The "DATE" data type stores the date portion only, and it MUST be declared with: data_type => 'date' in your Result class. Timestamp columns can be declared with either "datetime" or "timestamp". You will need the DateTime::Format::Strptime module for inflation to work. For DBIx::Class::Storage::DBI::ODBC::Firebird, this is a noop. CAVEATS
o with "connect_call_use_softcommit", you will not be able to see changes made to data in other processes. If this is an issue, use disable_sth_caching as a workaround for the "no statement executing" errors, this of course adversely affects performance. Alternately, use the ODBC driver. AUTHOR
See "AUTHOR" in DBIx::Class and "CONTRIBUTORS" in DBIx::Class. LICENSE
You may distribute this code under the same terms as Perl itself. perl v5.14.2 2011-05-10 DBIx::Class::Storage::DBI::InterBase(3pm)
Man Page