DBIx-Declare
declare the database access object, specify the sql/stored proc names, arguments and return and have the code generated for you
use DBIx::Declare
MyDB => {
data_source => "dbi:ODBC:Driver=SQL Server;Server=Some;Database=MyDB",
type => 'MSSQL',
user => '...',
pass => '....',
attr => { 'RaiseError' => 0, 'AutoCommit' => 1, LongReadLen => 65536 },
case => 'sensitive',
methods => {
get_site_entry_by_id => {
sql => "SELECT * FROM sites WHERE SiteId = ?",
args => [ qw(id) ],
return => '%', # only one row
},
get_people_entry_by_last_name => {
sql => "SELECT * FROM people WHERE last_name = ?",
args => [ qw(name) ],
return => '@%', # multiple rows
},
# Although not really recommended, you can also change the database schema
drop_table => {
sql => "DROP TABLE ?",
args => [ qw(table) ],
return => '$',
noprepare => 1, # For non-prepareable queries
noquote => 1, # For non-quoteable arguments (like table names)
},
GetATSName => {
return => '$',
},
GetSiteName => {
defaults => {
SiteID => 3,
},
return => '$$',
},
},
};
my $db = MyDB->new();
my $SiteName = $db->GetSiteName( 457 );
INSTALLATION
To install this module, run the following commands:
perl Build.PL
./Build
./Build test
./Build install
SUPPORT AND DOCUMENTATION
After installing, you can find documentation for this module with the
perldoc command.
perldoc DBIx::Declare
You can also look for information at:
RT, CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Declare
AnnoCPAN, Annotated CPAN documentation
http://annocpan.org/dist/DBIx-Declare
CPAN Ratings
http://cpanratings.perl.org/d/DBIx-Declare
Search CPAN
http://search.cpan.org/dist/DBIx-Declare
COPYRIGHT AND LICENCE
Copyright (C) 2009 Jenda Krynicky
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.