New rubier and sql

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
[/code]

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.

···

--
Posted via http://www.ruby-forum.com/.

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

···

--
Posted via http://www.ruby-forum.com/.

George Mcrand wrote:

Hi everyone,

Any answers or info would be greatly appreciated.

From a quick look it appears as though your dbi gem is out of date..

try "sudo gem update"

···

--
Posted via http://www.ruby-forum.com/\.