The following code works for me. It has the following differences:
- It uses DBD::SQLite, where you use DBD::mysql
- I didn't test out putting the whole stuff into two separate files.
One thing that comes to mind: Did you install the proper Class::DBI subclass (Class::DBI::mysql) ?
Table setup script
#!/usr/bin/perl -w
use strict;
use DBI;
my $dbh = DBI->connect('dbi:SQLite:dbfile=kudra.sqlite',"","", {AutoCo
+mmit => 0});
my @statements;
{
local $/;
@statements = split /;/, <DATA>;
};
for my $statement (@statements) {
print "$statement\n";
eval {
$dbh->do($statement);
$dbh->commit;
};
$@ ||= $dbh->errstr;
if ($@) {
if ($statement =~ /^drop/i) {
warn $@;
} else {
die $@;
};
};
};
$dbh->commit;
$dbh->disconnect;
__DATA__
create table person (
id INTEGER PRIMARY KEY,
name VARCHAR(256)
);
insert into person (name) values ("Corion");
insert into person (name) values ("Kudra");
insert into person (name) values ("vroom");
insert into person (name) values ("jcwren");
Class::DBI script
#!/usr/local/bin/perl -w
package MyCompany::MyProduct::Database;
use Class::DBI::Loader;
my $loader = Class::DBI::Loader->new(
dsn => "dbi:SQLite:dbfile=kudra.sqlite",
user => "username",
password => "password",
namespace => 'MyCompany::MyProduct::Database',
relationships => 1);
package main;
use strict;
use warnings;
#use MyCompany::MyProduct::Database;
use Data::Dumper;
my $person =
MyCompany::MyProduct::Database::Person->retrieve(3);
print Dumper $person;
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
|
|