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.