From: Chris Newman Date: 2005-10-26T00:39:06+09:00 Subject: Re: 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