[Catalyst] DBI SQLite driver missing after Catalyst update.

Matt Whipple matt at mattwhipple.com
Thu Aug 20 20:47:12 GMT 2009


Collin Condray wrote:
> I have recently updated my Catalyst installation from 5.71001 to 
> version 5.80007 and have made one of my websites completely unusable. 
> I followed the instructions in the tutorial 
> (http://search.cpan.org/~hkclark/Catalyst-Manual-5.8000/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod 
> <http://search.cpan.org/%7Ehkclark/Catalyst-Manual-5.8000/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod>) 
> to update the database to use load_components and have updated my 
> schema files to match. However, when I go to my site I get the 
> following error message:
>
> DBIx::Class::ResultSet::next(): DBI Connection failed: Can't connect 
> to data source 'HASH(0x9e139e0)' because I can't work out what driver 
> to use (it doesn't seem to contain a 'dbi:driver:' prefix and the 
> DBI_DRIVER env var is not set) at 
> /home/me/local/share/perl/5.8.4/DBIx/Class/Storage/DBI.pm line 840
The error message there would seem to say that the dsn isn't being 
retrieved properly out of the config info
>
> My connection string looks OK and matches the tutorial's example code:
>
> __PACKAGE__->config(
>     schema_class => 'wppig::Schema',
>     connect_info => [
>         'dbi:SQLite:wppig.db3',
>     ],
> );
I'd opt for the more explicit and scalable key/value option of:

    connect_info => {
       dsn => 'dbi:SQLite:wppig.db3',
    },


But judging from the docs (which confusing do say arrayref)
http://search.cpan.org:80/~mstrout/Catalyst-Model-DBIC-Schema-0.26/lib/Catalyst/Model/DBIC/Schema.pm#connect_info

I'd say you'd be looking for
    connect_info => 'dbi:SQLite:wppig.db3',


As a side not you may want to meditate on the fact that you apparently 
simultaneously introduced instability into a development and a 
production environment (according to the other reply thread)

>
> Debugging says the piece of code that it's hanging on looks like this:
>
> my $result = $c->model('DB::Result::Tag')->search(
>     { },
>             { join      => { 'items_tag' => 'tag' } }
> );
>
> while ( my $tag = $result->next ) { # Hangs here
>     $tag_count{ $tag->tag }++;
> }
>
> So it looks like the class is loading but I can't do anything with the 
> ResultSet.
>
> Any idea of why this is failing? Did I miss a step somewhere in the 
> conversion? I'd be happy to provide more information if needed.
>
> Thanks in advance for your help.
>
> Collin Condray
> @ccondray
> condray.net <http://condray.net>
> ------------------------------------------------------------------------
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>   




More information about the Catalyst mailing list