DBI doesn't seem to install correctly on CentOS

X

Xeno Campanoli

I tried installing with the old tarfile sequence using setup.rb, as I
couldn't get gems to work and there is apparently no yum install on
CentOS. When I went through the sequence found on
http://www.kitebird.com/articles/ruby-dbi.html#TOC_3, and then tried the
simple.rb script, I got:

% ruby simple.rb
/usr/lib/ruby/site_ruby/1.8/dbi.rb:344:in 'load_driver': Could not load
driver (no such file to load -- mysql) (DBI::InterfaceError)
from /usr/lib/ruby/site_ruby/1.8/dbi.rb:227:in '_get_full_driver'
from /usr/lib/ruby/site_ruby/1.8/dbi.rb:213:in 'connect'
from simple.rb:9

I presume I'm using old instructions or incomplete ones. Does anyone
have a more recent set of instructions, or can someone fill in my gap?

Sincerely, Xeno
 
J

Joshua Schairbaum

Try this to use DBI with MySQL:

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

Regards,
ch0wda
 
I

ian

Try this to use DBI with MySQL:

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

Regards,
ch0wda

I tried installing with the old tarfile sequence using setup.rb, as I
couldn't get gems to work and there is apparently no yum install on
CentOS. When I went through the sequence found on
http://www.kitebird.com/articles/ruby-dbi.html#TOC_3, and then
tried the
simple.rb script, I got:
% ruby simple.rb
/usr/lib/ruby/site_ruby/1.8/dbi.rb:344:in 'load_driver': Could not
load
driver (no such file to load -- mysql) (DBI::InterfaceError)
from /usr/lib/ruby/site_ruby/1.8/dbi.rb:227:in '_get_full_driver'
from /usr/lib/ruby/site_ruby/1.8/dbi.rb:213:in 'connect'
from simple.rb:9
I presume I'm using old instructions or incomplete ones. Does anyone
have a more recent set of instructions, or can someone fill in my gap?
Sincerely, Xeno

I'd examine why yum doesn't work in centos, it should do. Somethings
wrong with the OS somewhere.
Ian
 
X

Xeno Campanoli

Joshua said:
Try this to use DBI with MySQL:

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

That is in fact what I did, followed by:

ruby setup.rb setup
ruby setup.rb install

and my results were what I described already. I apparently need to know
the driver I need to load, or perhaps the yum install sequence I need to
use, or perhaps I just need to reboot. However, your suggestions were
what I already did.

xc
 
X

Xeno Campanoli

On 4 Jan, 20:32, Joshua Schairbaum <[email protected]>
wrote:
I'd examine why yum doesn't work in centos, it should do. Somethings
wrong with the OS somewhere.
Ian

Yum works just fine, it's just that CentOS doesn't have a package for
DBI, so you have to try and install from the tar.gz, and it won't work
for me. Yum will work fine if you can send me a rpm that works in the
CentOS world.

xc
 
X

Xeno Campanoli

the file is:
cksum dbi-0.1.1.tar.gz
3411302326 155533 dbi-0.1.1.tar.gz

I also just made sure libdbi-driver is installed by yum, among others,
and that has made no difference.
 
X

Xeno Campanoli

I have lost the thread at a place in /usr/lib/ruby/site_ruby/1.8/dbi.rb
on line 297 where the class script is trying to do the following require:
require "DBD/Mysql/Mysql

It may be that everything on this install is called "mysql", but I've
tried all of the conceiveable combinations in my connect call and they
all fail the same way.
 
J

Joshua Schairbaum

I'm not sure if you need this or not because I'm just getting into
using DBI myself, but did you install the mysql drivers? In the
README file, it mentioned that the Mysql DBD relied upon them. To
quote:

MySQL
Depends on the mysql package from http://www.tmtm.org/mysql or
available
from the RAA.

Regards.
ch0wda
 
X

Xeno Campanoli

This appears to fail the same way on my Ubuntu system after I installed
libdbi-ruby. Symptoms seem the same. I can go into mysql shell from
Bash, but I cannot use DBI and I get the same "Unable to load driver
'Mysql'" message. Perhaps people just don't use Mysql anymore?

#!/usr/bin/ruby -w
# simple.rb - simple MySQL script using Ruby DBI module

require "dbi"

begin
# connect to the MySQL server
dbh = DBI.connect("DBI:Mysql:test:localhost", "testuser", "testpass")
# get server version string and display it
row = dbh.select_one("SELECT VERSION()")
puts "Server version: " + row[0]
rescue DBI::DatabaseError => e
puts "An error occurred"
puts "Error code: #{e.err}"
puts "Error message: #{e.errstr}"
ensure
# disconnect from server
dbh.disconnect if dbh
end

the failure is happening on the dbh = DBI.connect line.
 
X

Xeno Campanoli

Joshua said:
I'm not sure if you need this or not because I'm just getting into using
DBI myself, but did you install the mysql drivers? In the README file,
it mentioned that the Mysql DBD relied upon them. To quote:

MySQL
Depends on the mysql package from http://www.tmtm.org/mysql or available
from the RAA.

I cannot read that website, which I see as Japanese. Perhaps you could
translate. I have installed mysql-server and the shell command "mysql"
starts and works from Bash. As I said elsewhere:
the file is:
cksum dbi-0.1.1.tar.gz
3411302326 155533 dbi-0.1.1.tar.gz

I also just made sure libdbi-driver is installed by yum, among others,
and that has made no difference.

The implication may be that there is another driver thingy I need to
install, but if so, the instructions for doing so are spectacularly
unclear and not the kind of testimony that brings employers clamoring at
your door. I thought lots of people used Mysql in Rails, but perhaps
the world has moved on and Ruby Mysql DBI is so badly atrophied that it
is no longer maintained...?
 
J

Joshua Schairbaum

There should be a link on that page that says "English" which will
take you to the translation.
 
X

Xeno Campanoli

Joshua said:
There should be a link on that page that says "English" which will take
you to the translation.

Yes, but the section on installation which it refers to is in Japanese?
Perhaps if you know something is there, can you give me an exact link
to the English, or paste it here? I suspect you're not doing this
intentionally, and do appreciate efforts to help. I see no ultimate
instruction in English on the missing drivers.
 
X

Xeno Campanoli

I appear to have this working now, although I have not fully tested it.
What I did was install the "Mysql" ruby interface, which perhaps either
brought in the drivers correctly, or for all I know is used wholesale by
the DBI interface. Whatever. I'll start a new thread if I find problems.

Thank you for efforts to help in this matter. I was a little cranky
Friday from a stomach ache, so please forgive me for not being in my
best verbally.

Sincerely, Xeno
xc
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top