[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Q: postgres access in Windows

G. Ralph Kuntz, MD, MS

7/28/2008 12:11:00 PM

I spent a couple of hour this weekend trying to get Ruby to talk to
PostgreSQL on a Windows Vista machine without success. I am working
with both Cygwin Ruby and JRuby.

I installed the DBI gem, including dbd_pg. I get the following error
in both version of Ruby:

Could not load driver (no such file to load -- /usr/lib/ruby/
site_ruby/1.8/dbd/Pg)

I also tried jruby-postgres and pgconn but I could not figure out how
to call the first one and got errors with the second. I could not
find any documentation (even tried ri).

I tried Googling everything I could think of.

Has anyone gotten a DB connection to PostgreSQL working under Windows
with any version of Ruby?

Thanks.
2 Answers

J-H Johansen

7/28/2008 12:48:00 PM

0

On Mon, Jul 28, 2008 at 2:14 PM, G. Ralph Kuntz, MD, MS <grk@usa.net> wrote:
> I spent a couple of hour this weekend trying to get Ruby to talk to
> PostgreSQL on a Windows Vista machine without success. I am working
> with both Cygwin Ruby and JRuby.
>
> I installed the DBI gem, including dbd_pg. I get the following error
> in both version of Ruby:
>
> Could not load driver (no such file to load -- /usr/lib/ruby/
> site_ruby/1.8/dbd/Pg)
>
> I also tried jruby-postgres and pgconn but I could not figure out how
> to call the first one and got errors with the second. I could not
> find any documentation (even tried ri).
>
> I tried Googling everything I could think of.
>
> Has anyone gotten a DB connection to PostgreSQL working under Windows
> with any version of Ruby?
>
> Thanks.
>
>


Hi,

My current use of postgres is done like this (but I think you can
require 'dbi' instead of 'rubygems'):

require 'rubygems'
require 'postgres'

$conn = PGconn.connect('hostname','port','','','db-name','username','password')

If you've installed rails you can also do the following in order to
use ActiveRecord which is nice:

require 'rubygems'
require 'active_record'

ActiveRecord::Base.pluralize_table_names = false
ActiveRecord::Base.establish_connection(
:adapter => "postgresql",
:host => "hostname",
:database => "db-name",
:username => "username",
:password => "password"
)

And then create objects of tables or views.
Assuming you have a table or a view called gen_table:

class GenTable < ActiveRecord::Base; end
gt = GenTable.find(:all)

for a in gt
puts a.id
end



--
J-H Johansen
--
There are 10 kinds of people in the world: Those who understand binary and
those who don't...

G. Ralph Kuntz, MD, MS

7/28/2008 5:42:00 PM

0

That worked like a charm!

Is there any documentation on PGconn and the other classes in the
postgres-pr module?

Thanks.