Postgres DBI question

That fixed it. Thanks Kirk!

Thanks also to Ernest for a link to the docs!

cn

···

-----Original Message-----
From: Kirk Haines [mailto:khaines@enigo.com]
Sent: Tuesday, October 25, 2005 10:22 AM
To: ruby-talk@ruby-lang.org
Subject: Re: postgres DBI question

On Tuesday 25 October 2005 6:21 am, Chris Newman wrote:

Hi,

I'm trying to connect to a Postgresql database using the DBI and postgres
packages. My OS is Solaris 2.8.

Here's my code snippet...

#!/usr/local/bin/ruby

require 'dbi'
require 'postgres'

^^^^^^^^^^^^^^^^^^-- Don't need this line. DBI will find the right driver
and
load it itself.

/usr/local/lib/ruby/site_ruby/1.8/dbi/dbi.rb:490:in `load_driver': is not
a class/module (TypeError)
        from /usr/local/lib/ruby/site_ruby/1.8/dbi/dbi.rb:392:in
`_get_full_driver'
        from /usr/local/lib/ruby/site_ruby/1.8/dbi/dbi.rb:372:in `connect'
        from ./ptexec_query.rb:9

DBI is complaining that it can't find the DBD driver that you told it to use

'Pg' here.

The problem, I bet, is that when you build DBI, you didn't build the DBD for

Pg.

When dbi is built, make sure to tell it what DBD's you want, like this:

ruby setup.rb config --with=dbi,dbd_pg,dbd_mysql

If you look in your sitelib for your ruby installation, in the DBD directory

(a path like /usr/local/lib/ruby/site_ruby/1.8/DBD) you should see a Pg
directory with a Pg.rb inside of it. If you don't, go back to the DBI
source, and do this:

ruby setup.rb config --with=dbd_pg
ruby setup.rb setup
ruby setup.rb install

And then try your snippet again.

Kirk Haines