
DBIx::Connect::FromConfig - Creates a DB connection from a configuration file

Version 0.04

use DBI;
use DBIx::Connect::FromConfig -in_dbi;
my $dbh = DBI->connect_from_config(config => $config);
# do DBI stuff
or, if you don't want to pollute DBI namespace:
use DBI;
use DBIx::Connect::FromConfig;
my $dbh = DBIx::Connect::FromConfig->connect(config => $config);
# do DBI stuff

DBIx::Connect::FromConfig provides a generic way to connect to a database using settings from a configuration object.

This module does not export any function, but if given the -in_dbi import option, it will install an alias of the connect() function in the DBI namespace, thus allowing it to be called as a method of DBI (see the synopsis).

Try to connect to a database using DBI and return the corresponding object.
Settings
driver - the name of the DBI driver for the database. This parameter is mandatory.database the name of the database. This parameter is mandatory.host - the hostname of the database. May be empty.port - the port of the database. May be empty.options - DBD options, given as a plain string.username - the user name used to connect to the database. Defaults to the current user.password - the password used to connect to the database. May be empty.Parameters
config - expects something that contains the settings:
Config::IniFiles object; the settings must be available from the section named as given by the section parameter.Config::Simple object; the settings must be available from the section named as given by the section parameter.Config::Tiny object; the settings must be available from the section named as given by the section parameter.section - name of the section to look for the database settings; defaults to "database"Examples
Connect to a database, passing the settings in a plain hash reference:
my %settings = (
driver => 'Pg',
host => 'bigapp-db.society.com',
database => 'bigapp',
username => 'appuser',
password => 'sekr3t',
);
my $dbh = DBI->connect_from_config(config => \%settings);
Connect to a database, passing the settings from a configuration file:
my $config = Config::IniFiles->new(-file => '/etc/hebex/mail.conf');
my $dbh = DBI->connect_from_config(config => $config);

Database driver not specified(E) The setting specifying the database driver was not found or was empty.
Database driver %s not supported(E) The specified database driver is not supported by this module.
No parameter given(E) The function can't do anything if you don't give it the required arguments.
Odd number of arguments(E) The function expects options as a hash. Getting this message means something's missing.
Unknown type of configuration(E) The function doesn't know how to handle the type of configuration you gave it. Use a supported one, bug the author, or send a patch ;-)

Sébastien Aperghis-Tramoni, <sebastien at aperghis.net>

Please report any bugs or feature requests to bug-dbix-connect-fromconfig at rt.cpan.org, or through the web interface at http://rt.cpan.org/Public/Dist/Display.html?Name=DBIx-Connect-FromConfig. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.
perldoc DBIx::Connect::FromConfig
You can also look for information at:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Connect-FromConfig

Copyright 2008 Sébastien Aperghis-Tramoni, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.