Sure, and thank you. Here's test.pl:
#!/usr/bin/perl -w
use strict;
require Modules.pl;
my @students = TestPkg::View->retrieve_all;
# returns the same error as search() would
warn Dumper(\@students);
And here's code from Modules.pl -- I'm not using Class::DBI::View in this version of the code, obviously. (Relevant info: this is a view containing enrollment data for a course.)
package TestPkg::DBI;
use base 'Class::DBI::Oracle';
TestPkg::DBI->set_db('Main', 'dbi:Oracle:devdv', 'username', 'password
+');
package TestPkg::View;
use base TestPkg::DBI;
__PACKAGE__->table('course_enrollment');
__PACKAGE__->columns( All => qw/id username year term name_first name_
+last/ );
# and just for kicks, here's another package that's working just fine
# it points to a table, not a view
package TestPkg::Permissions;
use base TestPkg::DBI;
__PACKAGE__->table('permissions');
__PACKAGE__->columns( All => qw/id student_id access_level/);
The view is just generated from a command like
CREATE OR REPLACE VIEW course_enrollment
AS SELECT [...]
(it's of course much longer and nastier -- but I can select things from it on the command line just fine.)