Do you have a question? Post it now! No Registration Necessary. Now with pictures!
- Posted on
- Eden Cardim
March 22, 2006, 7:47 pm
rate this thread
I'm developing a system based on Maypole, which in turn is based on
Class::DBI::Loader. SQLite was being used for testing, until then
everything was fine. But when I switched over to mysql, its
corresponding Loader class complains about not having the set_sql
method available in Class::DBI::mysql, which it should since it
inherits from Class::DBI. The doc synopsis for
Class::DBI::Loader::mysql doesn't even compile, the output is:
Couldn't require loader class "Class::DBI::Loader::mysql", "Can't
locate object method "set_sql" via package "Class::DBI::mysql" at
/usr/lib/perl5/site_perl/5.8.6/Class/DBI/mysql.pm line 58.
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.6/Class/DBI/Loader/mysql.pm line 8.
Compilation failed in require at (eval 1) line 2.
BEGIN failed--compilation aborted at (eval 1) line 2.
" at /usr/lib/perl5/site_perl/5.8.6/Class/DBI/Loader.pm line 81.
I've tried debugging the thing up to where it calls the set_sql method,
the @Class::DBI::mysql::ISA array is fine, but still the method won't
show up. I'm running a fedora 4 linux box, mysql 5.0 and perl 5.8.6. I
installed DBD::mysql from the fedora package repository. Who's doing it
wrong, me or the module?
Thanks in advance.
Re: Problem with set_sql in Class::DBI::Loader::mysql
I figured it out. For some reason, the modules aren't loading in the
correct order, I didn't have time to delve deeper into the module code.
So I tried loading them manually and it ended up working. So, start
your code with this:
and everything should go fine.