Forum: Ruby Need help for Ruby DBI and PostgreSQl

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Manisha T. (Guest)
on 2009-01-26 13:20
Hi,

I am trying to access aPostgreSQL database from a Ruby program.
I have the Linux(Ubuntu) OS, database server running and Ruby installed
well.
I have the gems postgres-pr. I downloaded rubu-dbi package manually and
installed it.I installed dbi using the following steps:

ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

But the only problem during installation was that I couldnt do config
with option
i.e.

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

It showed error while using that option.

now its ok when i do:

require 'postgres'

but for require 'dbi' it shows false.

I dont understand what to do.Its all badly messed up.
Can Anyone please provide some guidance in this regards?
Mikel L. (Guest)
on 2009-01-26 13:48
(Received via mailing list)
On Mon, Jan 26, 2009 at 10:18 PM, Manisha T.
<removed_email_address@domain.invalid> wrote:
> but for require 'dbi' it shows false.

require returns false when the library has already been loaded.

Just try and see if it works.
Manisha T. (Guest)
on 2009-01-26 14:50
Mikel L. wrote:
> On Mon, Jan 26, 2009 at 10:18 PM, Manisha T.
> <removed_email_address@domain.invalid> wrote:
>> but for require 'dbi' it shows false.
>
> require returns false when the library has already been loaded.
>
> Just try and see if it works.

Thanks Mikel,

but the problem is that i cannot connect to the database server as i
cannot do

dbh = DBI.connect('DBI:pg:databasename')
Simon K. (Guest)
on 2009-01-26 16:05
(Received via mailing list)
* Manisha T. <removed_email_address@domain.invalid> (13:48) schrieb:

>
> but the problem is that i cannot connect to the database server as i
> cannot do
>
> dbh = DBI.connect('DBI:pg:databasename')

That's strange. Maybe the keyboard on that computer is broken. Try
copying it over.

mfg,                      simon .... nth
Brian C. (Guest)
on 2009-01-26 16:30
Manisha T. wrote:
> ruby setup.rb config
> ruby setup.rb setup
> ruby setup.rb install
>
> But the only problem during installation was that I couldnt do config
> with option
> i.e.
>
> ruby setup.rb config --with=dbi,dbd_pg
>
> It showed error while using that option.

You need to show the exact error message you got.

As it is, we can only guess - maybe you forgot to install the libpq-dev
package first? If you'd shown the error message, we could tell you for
sure.

Similarly, if

  require 'postgres'
  dbh = DBI.connect('DBI:pg:databasename')

is giving an error, then you need to show the exact error. "I cannot
connect" isn't helpful.
Manisha T. (Guest)
on 2009-01-26 17:21
Brian C. wrote:
> Manisha T. wrote:
>> ruby setup.rb config
>> ruby setup.rb setup
>> ruby setup.rb install
>>
>> But the only problem during installation was that I couldnt do config
>> with option
>> i.e.
>>
>> ruby setup.rb config --with=dbi,dbd_pg
>>
>> It showed error while using that option.
>
> You need to show the exact error message you got.
>
> As it is, we can only guess - maybe you forgot to install the libpq-dev
> package first? If you'd shown the error message, we could tell you for
> sure.
>
> Similarly, if
>
>   require 'postgres'
>   dbh = DBI.connect('DBI:pg:databasename')
>
> is giving an error, then you need to show the exact error. "I cannot
> connect" isn't helpful.


ok, here is the error :

config: unknown option --with=dbi,dbd_pg
Try 'ruby setup.rb --help' for detailed usage.

When i checked for help, it just doesnt have an option --with= , but in
all the tutorials for ruby-dbi, i found the same.I already have
installed libpq-dev package.
I am quite a beginner, so may be i am missing something fundamental.It
will be very kind if anyone can help.i will be glad to learn.
Brian C. (Guest)
on 2009-01-26 23:06
Manisha T. wrote:
> ok, here is the error :
>
> config: unknown option --with=dbi,dbd_pg
> Try 'ruby setup.rb --help' for detailed usage.

You didn't show the command line you typed. But the following works just
fine for me:

$ ruby setup.rb config --with=dbi,dbd_pg
entering config phase...
config done.

This is dbi-0.2.0, ruby-1.8.6p111, Ubuntu Hardy. And I just took this
command from the README file.

> When i checked for help, it just doesnt have an option --with=

It does for me.

$ ruby setup.rb config --help
config: unknown option --help
try "ruby setup.rb --help" for usage

$ ruby setup.rb --help

Usage:
...
Options for config:
...
  --with=name,name...  package name(s) you want to install [ALL]
  --without=name,name... package name(s) you do not want to install []

So in this case maybe it's a good idea to list the exact platform,
version of Ruby, version of ruby-dbi you have unpacked, and to
copy-paste both the command you have typed *and* the responses you get.

Regards,

Brian.
Manisha T. (Guest)
on 2009-01-27 15:55
Brian C. wrote:
> Manisha T. wrote:
>> ok, here is the error :
>>
>> config: unknown option --with=dbi,dbd_pg
>> Try 'ruby setup.rb --help' for detailed usage.
>
> You didn't show the command line you typed. But the following works just
> fine for me:
>
> $ ruby setup.rb config --with=dbi,dbd_pg
> entering config phase...
> config done.
>
> This is dbi-0.2.0, ruby-1.8.6p111, Ubuntu Hardy. And I just took this
> command from the README file.
>
>> When i checked for help, it just doesnt have an option --with=
>
> It does for me.
>
> $ ruby setup.rb config --help
> config: unknown option --help
> try "ruby setup.rb --help" for usage
>
> $ ruby setup.rb --help
>
> Usage:
> ...
> Options for config:
> ...
>   --with=name,name...  package name(s) you want to install [ALL]
>   --without=name,name... package name(s) you do not want to install []
>
> So in this case maybe it's a good idea to list the exact platform,
> version of Ruby, version of ruby-dbi you have unpacked, and to
> copy-paste both the command you have typed *and* the responses you get.
>
> Regards,
>
> Brian.

Thanks Brian.

But the same doesnt work for me i.e.
  $ ruby setup.rb config --with=dbi,dbd_pg

But however, i was so messed up that, now i removed the installation i
did manually. I installed pg, dbi and dbd-pg gems using $ gem
install.........

Then tried the Ruby program i wrote again, and the wonder is that it
worked!!
I can connect to the PostgreSQL database from the Ruby program with
statement

dbh = DBI.connect('DBI:Pg:database_name','username','password')

Honestly speaking I dont understand completely the reason,but it
works.If you can explain it, I will be thankful.
Brian C. (Guest)
on 2009-01-27 16:48
Manisha T. wrote:
> Honestly speaking I dont understand completely the reason,but it
> works.If you can explain it, I will be thankful.

I can't do that, since you still haven't shown:

* your operating system version, your ruby version, and the dbi version
you're trying to install

* the exact commands you typed *together with* the responses that came
back

In particular, you say that the output of "ruby setup.rb --help" didn't
list the --with option, but you can see from the output I posted that it
did for me.

So if you showed the actual output you got, it might explain why.
Perhaps we're either running different versions of setup.rb, or
different versions of ruby, but that's just a guess.
Manisha T. (Guest)
on 2009-01-28 12:35
Brian C. wrote:
> Manisha T. wrote:
>> Honestly speaking I dont understand completely the reason,but it
>> works.If you can explain it, I will be thankful.
>
> I can't do that, since you still haven't shown:
>
> * your operating system version, your ruby version, and the dbi version
> you're trying to install
>
> * the exact commands you typed *together with* the responses that came
> back
>
> In particular, you say that the output of "ruby setup.rb --help" didn't
> list the --with option, but you can see from the output I posted that it
> did for me.
>
> So if you showed the actual output you got, it might explain why.
> Perhaps we're either running different versions of setup.rb, or
> different versions of ruby, but that's just a guess.


Hi, here is some information, hope it can help you to understand the
problem.

Operating system is : Ubuntu 8.0.4
Ruby version : 1.8.6
DBI that i am trying to install is : dbi-0.4.1

the commands and responses are:

1. root@manisha-desktop:/home/manisha/dbi-0.4.1# ruby setup.rb config
--with=dbi,dbd_pg


  config: unknown option --with=dbi,dbd_pg

  Try 'ruby setup.rb --help' for detailed usage.


2. root@manisha-desktop:/home/manisha/dbi-0.4.1# ruby setup.rb --help

Typical Installation Procedure:
  $ ruby setup.rb config
  $ ruby setup.rb setup
  # ruby setup.rb install (may require root privilege)

Detailed Usage:
  ruby setup.rb <global option>
  ruby setup.rb [<global options>] <task> [<task options>]

Global options:
  -q,--quiet               suppress message outputs
     --verbose             output messages verbosely
     --help                print this message
     --version             print version and quit
     --copyright           print copyright and quit

Tasks:
  all                      do config, setup, then install
  config                   saves your configurations
  show                     shows current configuration
  setup                    compiles ruby extentions and others
  install                  installs files
  test                     run all tests in test/
  clean                    does `make clean' for each extention
  distclean                does `make distclean' for each extention

Options for CONFIG or ALL:
  --installdirs=std/site/home std: install under libruby; site: install
under site_ruby; home: install under $HOME []
  --prefix=path            path prefix of target environment [/usr]
  --bindir=path            the directory for commands [$prefix/bin]
  --libdir=path            the directory for libraries [$prefix/lib]
  --datadir=path           the directory for shared data [$prefix/share]
  --mandir=path            the directory for man pages
[$prefix/share/man]
  --sysconfdir=path        the directory for system configuration files
[/etc]
  --localstatedir=path     the directory for local state data [/var]
  --libruby=path           the directory for ruby libraries
[/usr/lib/ruby]
  --librubyver=path        the directory for standard ruby libraries
[/usr/lib/ruby/1.8]
  --librubyverarch=path    the directory for standard ruby extensions
[/usr/lib/ruby/1.8/i486-linux]
  --siteruby=path          the directory for version-independent aux
ruby libraries [/usr/local/lib/site_ruby]
  --siterubyver=path       the directory for aux ruby libraries
[/usr/local/lib/site_ruby/1.8]
  --siterubyverarch=path   the directory for aux ruby binaries
[/usr/local/lib/site_ruby/1.8/i486-linux]
  --rbdir=path             the directory for ruby scripts [$siterubyver]
  --sodir=path             the directory for ruby extentions
[$siterubyverarch]
  --rubypath=path          the path to set to #! line [/usr/bin/ruby1.8]
  --rubyprog=name          the ruby program using for installation
[/usr/bin/ruby1.8]
  --makeprog=name          the make program to compile ruby extentions
[make]
  --shebang=all/ruby/never shebang line (#!) editing mode [ruby]
  --without-ext            does not compile/install ruby extentions [no]
  --rbconfig=path          rbconfig.rb to load [running ruby's]

Options for INSTALL:
  --no-harm                only display what to do if given [off]
  --prefix=path            install path prefix []
Brian C. (Guest)
on 2009-01-28 12:48
Manisha T. wrote:
> Hi, here is some information, hope it can help you to understand the
> problem.
>
> Operating system is : Ubuntu 8.0.4
> Ruby version : 1.8.6
> DBI that i am trying to install is : dbi-0.4.1

Thank you. The problem is simply that you were following information on
the web which was written for an older version of dbi.

dbi-0.2.0 has all the dbd's bundled in with it. It seems that they have
now been separated out into separate packages. As a result, the
--with-dbd option has been removed; you choose which dbd's you want by
installing the relevant dbd packages.

Regards,

Brian.
Manisha T. (Guest)
on 2009-01-28 16:27
Brian C. wrote:
> Manisha T. wrote:
>> Hi, here is some information, hope it can help you to understand the
>> problem.
>>
>> Operating system is : Ubuntu 8.0.4
>> Ruby version : 1.8.6
>> DBI that i am trying to install is : dbi-0.4.1
>
> Thank you. The problem is simply that you were following information on
> the web which was written for an older version of dbi.
>
> dbi-0.2.0 has all the dbd's bundled in with it. It seems that they have
> now been separated out into separate packages. As a result, the
> --with-dbd option has been removed; you choose which dbd's you want by
> installing the relevant dbd packages.
>
> Regards,
>
> Brian.

Thanks Brian, for all the information.
I have a doubt, may be its simple but i have some confusion.
I installed everything as gems , like dbi, dbd-pg, dbd-mysql, pg and
postgres.
Everything working fine now. Is installing gem the same like it would
have been if we install the packages manually?
Brian C. (Guest)
on 2009-01-28 17:33
> I have a doubt, may be its simple but i have some confusion.
> I installed everything as gems , like dbi, dbd-pg, dbd-mysql, pg and
> postgres.
> Everything working fine now. Is installing gem the same like it would
> have been if we install the packages manually?

Perhaps in different locations, but otherwise it should all work the
same. Gems are the preferred installation mechanism if the package
provides one.
Manisha T. (Guest)
on 2009-01-28 18:27
Brian C. wrote:
>> I have a doubt, may be its simple but i have some confusion.
>> I installed everything as gems , like dbi, dbd-pg, dbd-mysql, pg and
>> postgres.
>> Everything working fine now. Is installing gem the same like it would
>> have been if we install the packages manually?
>
> Perhaps in different locations, but otherwise it should all work the
> same. Gems are the preferred installation mechanism if the package
> provides one.

thanks a lot for the information
This topic is locked and can not be replied to.