new rubier and sql

G

George Mcrand

Hi everyone,

Iv inherited some ruby code that talks to a sql db and iv never used
ruby before.

Ive tried to poke around to understand where the error below is coming
from but to no result.

Code:
C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:264:in `initialize': wrong number
of arguments (1 for 2) (ArgumentError)
from C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:264:in `exception'
from C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:264:in `raise'
from C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:264:in `load_driver'
from C:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:242:in `load_driver'
from C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:160:in
`_get_full_driver'
from C:/ruby/lib/ruby/site_ruby/1.8/dbi.rb:145:in `connect'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-2.2.21/lib/active_record/connection_adapters/sqlserver_adapter.rb:775:in
`connect'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-2.2.21/lib/active_record/connection_adapters/sqlserver_adapter.rb:211:in
`initialize'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-2.2.21/lib/active_record/connection_adapters/sqlserver_adapter.rb:26:in
`new'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-sqlserver-adapter-2.2.21/lib/active_record/connection_adapters/sqlserver_adapter.rb:26:in
`sqlserver_connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in
`send'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in
`new_connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in
`checkout_new_connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in
`checkout'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in
`loop'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in
`checkout'
from C:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in
`checkout'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in
`connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in
`retrieve_connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:121:in
`retrieve_connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:113:in
`connection'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:2934:in
`quoted_table_name'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1520:in
`find_one'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1511:in
`find_from_ids'
from
C:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:590:in
`find'
from dtr_upload.rb:72
from dtr_upload.rb:63:in `each'
from dtr_upload.rb:63


and the bit of code is


ActiveRecord::Base.establish_connection(
:adapter => "sqlserver",
:mode => "ODBC",
:dsn => "DSN",
:username => "USERNAME",
:password => "PASSWORD"
)


Any answers or info would be greatly appreciated.
 
S

Srikanth Jeeva

Hi install dbi driver so that u can access i suppose.


1. Download the Ruby/DBI distribution from the Ruby/DBI web site,
unpack and cd into the directory created by unpacking the distribution
file. For example:

gunzip dbi-0.1.1.tar.gz
tar -xvzf dbi-0.1.1.tar
cd ruby-dbi

2. Install the Ruby/DBI ODBC driver:

ruby setup.rb config --with=dbi,dbd_odbc
ruby setup.rb setup
ruby setup.rb install

3. To test the Ruby/DBI ODBC driver with your Easysoft ODBC data
source, create a Ruby script named ruby-dbi-odbc-example and add these
lines

require 'dbi'

# Replace MY_DSN with the name of your ODBC data
# source. Replace and dbusername with dbpassword with
# your database login name and password.
DBI.connect('dbi:ODBC:MY_DSN', 'dbusername', 'dbpassword') do |
dbh |
# Replace mytable with the name of a table in your database.
dbh.select_all('select * from mytable') do | row |
p row
end
end

4. Run ruby-dbi-odbc-example:

ruby ruby-dbi-odbc-example


Here is the source guide.

http://www.easysoft.com/developer/languages/ruby/rails.html


Thanks,
Srikanth J

http://srikanthjeeva.blogspot.com
 

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

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top