Password(3pm) User Contributed Perl Documentation Password(3pm)NAME
DBIx::Password - Allows you to create a global password file for DB passwords
SYNOPSIS
use DBIx::Password;
my $dbh = DBIx::Password->connect($user);
my $dbh = DBIx::Password->connect_cached($user);
$dbh->getDriver;
DBIx::Password::getDriver($user);
DBIx::Password::checkVirtualUser($user);
DBIx::Password::clearConfig();
DBIx::Password::readConfig("$ENV{HOME}/.my.secret.file");
DESCRIPTION
Don't you hate keeping track of database passwords and such throughout your scripts? How about the problem of changing those passwords on a
mass scale? This module is one possible solution. It stores all your virtual users and data in /etc/dbix-password.conf. For each user you
need to specify the database module to use, the database connect string, the username and the password. You will have to give a name to
this virtual user. You can add as many as you like.
I would recommend that if you are only using this with web applications that you change the final permissions on this package after it is
installed in site_perl such that only the webserver can read it.
A method called getDriver has been added so that you can determine what driver is being used (handy for working out database indepence
issues).
If you want to find out if the virtual user is valid, you can call the class method checkVirtualUser(). It returns true(1) if the
username is valid, and zero if not.
Once your are done you can use the connect method (or the connect_cache method) that comes with DBIx-Password and just specify one of the
virtual users you defined while making the module.
BTW I learned the bless hack that is used from Apache::DBI so some credit should go to the authors of that module. This is a rewrite of
the module Tangent::DB that I did for slashcode.
If your program does not need the system-wide information stored in the /etc/dbix-password.conf file, you may use the clearConfig() and
readConfig() functions to get the data from another source. At any time, readConfig() may also be used to merge the data from another file
into the currently-loaded configuration.
Hope you enjoy it.
HOME
To find out more information look at: http://www.tangent.org/DBIx-Password/
AUTHOR
Brian Aker, brian@tangent.org
SEE ALSO perl(1). DBI(3).
perl v5.10.0 2009-05-09 Password(3pm)
Check Out this Related Man Page
DBIx::Simple::Comparison(3pm) User Contributed Perl Documentation DBIx::Simple::Comparison(3pm)NAME
DBIx::Simple::Comparison - DBIx::Simple in DBI jargon
DESCRIPTION
This is just a simple and inaccurate overview of what DBI things the DBIx::Simple things represent, or the other way around.
This document can be useful to find the foo equivalent of bar.
"?" means that DBI doesn't have an equivalent or that I couldn't find one.
"=" means that DBIx::Simple provides a direct wrapper to the DBI function.
"~" means that DBIx::Simple's method does more or less the same, but usually in a more high level way: context sensitive, combining things,
automatically taking care of something.
Note that DBIx::Simple is a wrapper around DBI. It is not "better" than DBI. In fact, DBIx::Simple cannot work without DBI.
Using DBI directly is always faster than using DBIx::Simple's equivalents. (For the computer, that is. For you, DBIx::Simple is supposed to
be faster.)
Classes, common names
use DBI ~ use DBIx::Simple
$DBI::errstr = DBIx::Simple->error
DBI::db ~ DBIx::Simple
$dbh ~ $db
$dbh->errstr = $db->error
connect ~ connect
connect ~ new
DBI::st ~ DBIx::Simple::Result
<undef> ~ DBIx::Simple::Dummy
$sth ~ $result
Queries
DBI
my $sth = $dbh->prepare_cached($query);
$sth->execute(@values);
~ DBIx::Simple
my $result = $db->query($query, $values);
Results
DBI DBIx::Simple
bind_columns ~ bind
fetchrow_arrayref/fetch = fetch
fetchrow_array ~ list
*1 ~ flat
[@{fetchrow_arrayref}] = array
fetchall_arrayref ~ arrays
fetchrow_hashref() *2*3 = hash
fetchall_arrayref({}) *4 ~ hashes
fetchall_hashref *2 = map_hashes
? ? map_arrays
fetchall_hashref(1) *2 = map
$sth->{NAME_lc/NAME} = $result->columns
*1 There's no fetch variant, but you can do "{ @{ $dbh->selectcol_arrayref('SELECT ...', { Slice => [] }) } }".
*2 To receive the keys (column names) lowercased, use "$db->{FetchHashKeyName} = 'NAME_lc'". DBIx::Simple lower cases them by default.
*3 Or supply an argument, 'NAME_lc'.
*4 No, arrayref isn't a typo. When supplied an empty hash reference, DBI's fetchall_arrayref actually returns hashrefs. This DBI method
does not support lower casing of keys, DBIx::Simple does.
Direct access
DBI DBIx::Simple
$dbh = $db->dbh
$sth->{$foo} = $result->attr($foo)
func = func
begin_work = begin_work
commit = commit
rollback = rollback
last_insert_id = last_insert_id
rows = rows
disconnect ~ disconnect
finish ~ finish
DBIx::Simple specific (?)
keep_statements
lc_columns
iquery (via SQL::Interp)
select, insert, update, delete (via SQL::Abstract)
abstract (via SQL::Abstract)
flat
hashes
map_arrays
map
LICENSE
There is no license. This software was released into the public domain. Do with it what you want, but on your own risk. The author
disclaims any responsibility.
AUTHOR
Juerd Waalboer <juerd@cpan.org> <http://juerd.nl/>
SEE ALSO
DBI, DBIx::Simple
perl v5.10.0 2007-07-14 DBIx::Simple::Comparison(3pm)